[Swagger-ui]

hamonjamon·2022년 8월 11일
0
post-thumbnail
post-custom-banner

의존성 추가

    <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>

기본 사용 설정을 위한 SwaggerConfig.java


@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()
                ; 
        );
    }

}

어노테이션으로 Swagger 스펙 작성

컨트롤러

@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 = "홍길동")

post-custom-banner

0개의 댓글