본문 바로가기
백엔드/Spring(Boot)

spring static 경로 404

by 김어찐 2022. 8. 10.
728x90

SwaggerConfig에 추가된 @EnableWebMvc 어노테이션이 원인이었다.

해당 어노테이션 사용시 따로 추가해줘야한다

package com.zeroback.aboutme.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
@EnableWebMvc
public class SwaggerConfig implements WebMvcConfigurer {
    /**
     * Swagger를 위한 Docket 빈을 추가한다.
     *
     * @return
     */
    @Bean
    public Docket api() {
        final ApiInfo apiInfo = new ApiInfoBuilder()
                .title("About Me API")
                .description("<h3>About Me 에서 사용되는 RestApi에 대한 문서를 제공한다.</h3>")
                .contact(new Contact("Zero-Back", "https://zero-back.com", "zero@zero.com"))
                .license("MIT License")
                .version("1.01")
                .build();

        return new Docket(DocumentationType.SWAGGER_2)        // Swagger 2.0 기반의 문서 작성
                .apiInfo(apiInfo)                             // 문서에 대한 정보를 설정한다.
                .select()                                    // ApiSelectorBuilder를 반환하며 상세한 설정 처리
                .apis(RequestHandlerSelectors.basePackage("com.zeroback.aboutme"))// 대상으로하는 api 설정
                .paths(PathSelectors.any())  // controller에서 swagger를 지정할 대상 path 설정)
                .build();                                    // Docket 객체 생성
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/swagger-ui/**","/static/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/","classpath:/static/");
    }
}

 

참고

https://velog.io/@tkaltk123/%EB%B6%80%ED%8A%B8%EC%8A%A4%ED%8A%B8%EB%9E%A9-%EB%A6%AC%EC%86%8C%EC%8A%A4%EB%A5%BC-%EB%B6%88%EB%9F%AC%EC%98%A4%EC%A7%80-%EB%AA%BB%ED%95%98%EB%8A%94-%EB%AC%B8%EC%A0%9C

 

부트스트랩 리소스를 불러오지 못하는 문제

증상 부트스트랩 템플릿을 spring boot 서버에 추가하던 도중, index.html이 css, js 등을 불러오지 못하는 문제가 발생했다. 원인 부트스트랩 자원뿐만 아니라 모든 static resource에 접근하지 못하는 현상

velog.io

 

728x90

'백엔드 > Spring(Boot)' 카테고리의 다른 글

springboot multimodule  (0) 2023.01.01
spring 외부 경로 매핑  (0) 2022.08.11
spring responsebody json 필드명 변경하기  (0) 2022.08.02
springboot 파일업로드  (0) 2022.07.01
springboot h2 인메모리 모드 설정  (0) 2022.06.30