Swagger 설정
의존성 추가
build.gradle에 아래 의존성들을 추가
// support swagger doc
compile ('io.springfox:springfox-swagger2:2.9.2')
Swagger 설정 Bean 등록
기본설정 - 설정된 /api/** 이하의 모든 API의 명세를 뽑아줍니다.
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any()) // 현재 RequestMapping으로 할당된 모든 URL 리스트를 추출
.paths(PathSelectors.ant("/api/**")) // 그중 /api/** 인 URL들만 필터링
.build();
}
}
API에 Swagger Annotation 추가
- API에 대한 상세 제어가 필요할 경우 사용
- 다양한 타입이 존재
@ApiOperation(
value = "사용자 삭제",
notes = "해당 ID의 사용자를 삭제합니다.\n",
response = UpdateResponse.class
)
@ApiImplicitParams({
@ApiImplicitParam(name = "id", required = true, dataType = "long", paramType = "query", value = "사용자 ID ", defaultValue = "0"),
})
@GetMapping("/delete/{id}")
public Mono<UpdateResponse> deleteUser(
@PathVariable("id") Long id
){
return userService.deleteUser(id);
}
접근 URL
http://localhost:8080/your-app-root/swagger-ui.html