2020년 6월 29일 월요일

springboot 에 swagger 설치해서 api 확인하자

swaggerConfig.java (이름이야뭐..아무거나..) 를 만들어서

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration@EnableSwagger2public class SwaggerConfig {

@Bean public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any()) //모든 url 리스트 찾아내줘 스웍 .paths(PathSelectors.any()) // 모든 패스 전부. .build();
}
}
이것만으로 잘 안되서..


@Overridepublic void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/api/v2/api-docs", "/v2/api-docs");
registry.addRedirectViewController("/api/swagger-resources/configuration/ui", "/swagger-resources/configuration/ui");
registry.addRedirectViewController("/api/swagger-resources/configuration/security", "/swagger-resources/configuration/security");
registry.addRedirectViewController("/api/swagger-resources", "/swagger-resources");
}

@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/api/swagger-ui.html**").addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
registry.addResourceHandler("/api/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
...
}

했더니 localhost:8080/api/swagger-ui.html 에서 보게 되었다. 
http://localhost:8081/swagger-api/swagger-ui.html#/

0 comments:

댓글 쓰기