<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any()) // 특정 패키지경로를 API문서화 한다. 1차 필터
.paths(PathSelectors.any()) // apis중에서 특정 path조건 API만 문서화 하는 2차 필터
.build()
.groupName("API 1.0.0") // group별 명칭을 주어야 한다.
.pathMapping("/")
.apiInfo(apiInfo())
.useDefaultResponseMessages(false); // 400,404,500 .. 표기를 ui에서 삭제한다.
}
private ApiInfo apiInfo() {
return new ApiInfo(
return new ApiInfoBuilder()
.title("fantoo_api_test 프로젝트")
.description("API 호출 테스트용도.")
.version("1.0.0")
.termsOfServiceUrl("")
// .contact()
.license("")
.licenseUrl("")
.build()
;
);
}
}
@Api(tags = "예약 서비스 API")
@ApiOperation("예약화면 조회 API")
@ApiResponses(
@ApiResponse(code = 200, response = Reservation.class, message = "예약화면 조회 결과")
)public Object getReservationInfo(@ApiParam(value = "예약자 정보 도메인", required = true) @RequestBody LoginRequest request) {
@ApiModelProperty(value = "예약자 등록번호", example = "홍길동")