Spring Boot 3에서 Swagger 사용하기

2024. 8. 24. 22:29·BackEnd/Spring

Swagger는 서버로 요청되는 API 리스트를 화면으로 문서화하여 테스트할 수 있는 라이브러리이다.

 

애플리케이션의 서버가 가동되면 @RestController를 읽어 API를 분석하여 HTML 문서를 작성한다.

 

 

현시점(2024-08-24) 가장 최신 버전은 2.6.0 버전이며, 버전 정보는 아래 링크에서 확인할 수 있다.

https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui

 

 

Spring Boot 3 버전에서 Swagger를 사용을 위한 가이드이며, 필자는 Maven을 사용하고 있다.

Gradle을 사용하는 분은 위 링크에서 Gradle 탭에 있는 코드를 참고하길 바란다.

 

 

 

다음 코드를 pom.xml과 application.properties에 추가한다.

 

pom.xml

<dependency>
	<groupId>org.springdoc</groupId>
	<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
	<version>2.6.0</version>
</dependency>

 

 

application.properties

springdoc.api-docs.path=/v3/api-docs
springdoc.swagger-ui.path=/swagger-ui.html

 

 

 

여기까지 하면 swagger를 사용하기 위한 준비는 모두 끝났다.

 

http://localhost:8080/swagger-ui.html로 접속해 보면 swagger 페이지를 볼 수 있을 것이다.

 

 

 

추가적으로, 우리가 작성한 API를 좀 더 친절하게 정리하기 위해 몇 가지 어노테이션을 사용할 수 있으며, 아래는 그에 대한 예시이다.

@Operation(summary=API메소드 간략설명, description=자세한 설명)
@Tag(name=swagger에 표시할 그룹 이름, description=설명)

 

 

@Tag로 해당 컨트롤러가 어떤 컨트롤러인지 좀 더 친절한 설명(description)을 덧붙일 수 있다.

 

 

또한, @Operation을 지정하여 /board/inser라는 API 주소가 어떤 요청을 하는지 간략하게 summary를 볼 수 있으며 클릭 시 자세한 description도 볼 수 있다.

 

 

 

마지막으로, @ApiResponses 설정을 통해 각 응답 코드별 설명도 작성하여 좀 더 친절한 문서를 만들 수 있다.

@ApiResponse(responseCode=상태코드, description=설명, content=타입/스키마정의)

 

반응형
저작자표시 (새창열림)
'BackEnd/Spring' 카테고리의 다른 글
  • Spring Boot 다른 포트에서 서버 실행하기
  • Spring Boot에서 postgreSQL 연결하기
dduniverse
dduniverse
  • dduniverse
    dduniverse
    dduniverse
  • 전체
    오늘
    어제
    • 분류 전체보기 (242)
      • Algorithm (123)
        • 알고리즘 이론 (8)
        • 백준 (19)
        • 프로그래머스 (83)
        • 구름 알고리즘 먼데이 챌린지 (13)
      • 빅데이터분석기사 (10)
        • 통계 (4)
        • 실기 (6)
      • KT에이블스쿨 (26)
      • FrontEnd (11)
        • React (5)
        • 기타 (6)
      • BackEnd (18)
        • Django (15)
        • Spring (3)
      • DS & ML (11)
        • Machine Learning (9)
        • Kaggle (2)
      • TIL (43)
        • python (22)
        • javascript (3)
        • 오류해결 (10)
        • 기타 (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 관리
    • 글쓰기
  • 링크

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
dduniverse
Spring Boot 3에서 Swagger 사용하기
상단으로

티스토리툴바