Spring
Spring Boot로 알아가는 Swagger
JeonInwoo
2020. 4. 7. 18:02
Swagger란?
RestAPI를 문서화 시켜주는 프레임 워크이다. ( java 뿐만 아니라 다양한 언어를 모두 지원한다 )
문서화 뿐만 아니라 기존의 이용하던 Postman의 기능도 지원한다.
MAVEN
maven repository에서 swagger 찾아서 주입 ( 아래는 gradle )
더보기
compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.5.0'
먼저 swagger 기능을 이용하기 위하여 Config파일을 생성을 한다.
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("자신의 controller 패키지"))
.paths(PathSelectors.any())
.build();
}
}
Docket : Swagger 설정의 핵심 설정
select() : ApiSelectorBuilder를 생성한다.
apis() : api 스펙이 작성되어 있는 패키지를 지정한다.
컨트롤러가 존재하는 패키지를 basepackage로 지정하며, RequestMapping(Get, Post, Put...)이 선언된 API를 문서화한다.
paths() : any() : 자유롭게 사용가능, ant("/test") : /test 로 되어있는 path만 허용