[portfolio] 스프링 부트 3.x.x에 swagger 연동

박이레·2023년 10월 16일
0

portfolio

목록 보기
9/20

 스프링 부트 3.x.x 버전에 swagger를 연동하는 방법은 조금 다릅니다. 스프링 부트 2.x.x보다 훨씬 간편해졌습니다.


의존성 추가

build.gradle에 swagger를 추가합니다.

/* Swagger */
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

SwaggerConfig 작성

main > java > config > 아래에 SwaggerConfig를 아래와 같이 작성합니다.

package com.portfolio.config;

import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
import org.springframework.context.annotation.Configuration;

@OpenAPIDefinition(
        info = @Info(title = "iraefolio API 명세서",
                description = "iraefolio API 명세서",
                version = "v1"))
@Configuration
public class SwaggerConfig {

    
}

Controller에 주석 작성

Controller 상단에 @Tag 어노테이션을 추가합니다. 각 Controller에 @Operation 어노테이션을 추가하여 api에 대한 설명을 덧붙입니다.

@Tag(name = "review Controller", description = "review Controller")
@Log4j2
@RequiredArgsConstructor
@RequestMapping("/review")
@RestController
public class ReviewController {

    private final ReviewService service;

    /* PAGING */
    @Operation(summary = "review paging", description = "/review로 이동합니다.")
    @GetMapping
    public ModelAndView review() {
        ModelAndView mav = new ModelAndView("review");
        return mav;
    }

테스트

프로젝트를 실행하고 swagger index 페이지로 이동합니다.(http://localhost:8080/swagger-ui/index.html#/)

profile
혜화동 사는 Architect

0개의 댓글