[Spring/Swagger] 스프링부트에서 Swagger 사용하기 :: springdoc-openapi-ui 라이브러리

2024. 2. 15. 22:45·[ Development ]/[ Back-end ] Spring 기본

스프링부트에서 Swagger를 사용하는 방법은 여러 가지가 있다

 

(일단 swagger를 모르는 분들을 위해 간단하게 설명하자면

API Documentation & Design Tools for Teams 이다

API를 확인하고 정리하기 편하게 돕는 툴...!)

 

1. spring fox를 사용할 수 없는 SpringBoot.3.n.n

이전 프로젝트에서는 spring fox를 이용했었는데

이제 스프링 부트 이니셜라이저에서 

2.nn 버전을 제공하지 않고

3.n.n 버전만 제공하게 되면서

spring fox를 사용할 수 없게 되었다

 

2. SpringBoot 3.n.n 이상 버전에서의 Swagger 도입 방법 = springdoc

검색해보면 대부분의 Swagger 도입 프로젝트 코드는 springfox를 이용하고 있지만

스프링 부트에서 지원하지 않기 때문에 springdoc-openapi 라이브러리를 사용해야한다

 

두 라이브러리는 모두 스프링 프레임워크에서 사용하는 애플리케이션이

swagger를 이용해 api 문서화를 쉽게 할 수 있도록 도와주는 라이브러리이다

 

기능은 같지만 치명적인 차이점이 한 가지 있는데

springfox 라이브러리의 깃허브는 2020년 7월 이후

업데이트가 되지 않고 있다는 것이다

 

그래서 우리는 마지막 릴리즈가 상대적으로 최근인

springdoc-openapi 라이브러리를 사용해야한다

 

2-1. springdoc-openapi-ui 라이브러리 소개

springdoc 라이브러리에서 open api 3점 대 버전에 맞게 json파일을 생성해주면

springdoc 라이브러리의 openapi-ui 내부에 있는 swagger ui가

화면을 구성해서 json 파일 내용을 보여주는 방식이다

 

2-2. build.gradle 에 dependency 의존성 추가

// https://springdoc.org 의 공식 dependency 코드
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

// 프로젝트에 적용한 코드
implementation 'org.springdoc:springdoc-openapi-ui:1.6.9'

 

build.gradle에 적용하는 방법 외에

다른 방법도 있지만 복잡해서 추천하지 않는다

( SwaggerConfig.java 파일에

Config 내용을 수동으로 작성하는 방법.

Controller에 하나씩 전부 적용해주어야 하므로

간단한 프로젝트에서는 비효율적)

2-3. Swagger 확인

http://localhost:8080/swagger-ui/index.html 

해당 링크에서 다시 확인해보면

제대로 실행되는 것을 알 수 있다

 

 

728x90

'[ Development ] > [ Back-end ] Spring 기본' 카테고리의 다른 글

[Spring/Swagger] SpringBoot의 Spring Security 환경에서 Swagger 적용시 로그인 화면 임시 해결 방법  (1) 2024.02.15
[Spring 스프링 기본] 의존관계 자동 주입  (0) 2023.12.26
[Spring 스프링 기본] 컴포넌트 스캔  (1) 2023.12.05
[Spring 스프링 기본] 싱글톤 컨테이너  (2) 2023.11.28
[Spring 스프링 기본] 스프링 컨테이너와 스프링 빈  (1) 2023.11.21
[Spring 스프링 기본] 객체 지향 원리 적용  (1) 2023.11.14
[Spring 스프링 기본] 2. 핵심 원리 이해 1 - 예제 만들기  (0) 2023.11.07
'[ Development ]/[ Back-end ] Spring 기본' 카테고리의 다른 글
  • [Spring/Swagger] SpringBoot의 Spring Security 환경에서 Swagger 적용시 로그인 화면 임시 해결 방법
  • [Spring 스프링 기본] 의존관계 자동 주입
  • [Spring 스프링 기본] 컴포넌트 스캔
  • [Spring 스프링 기본] 싱글톤 컨테이너
dev charlotte
dev charlotte
주 - 컴퓨터공학 / 복수 - 산업 보안
    250x250
  • dev charlotte
    int main() {
    dev charlotte
  • 전체
    오늘
    어제
    • 분류 전체보기
      • [ Laboratory ]
        • Paper review
        • Advanced Operating System
        • System Software & Storage
        • Lab etc
      • [ Computer Science ]
        • Algorithm_C++
        • Operating System
        • Information Retrieval
        • Database_sql
        • SW Engineering
        • Computer Network
        • JavaScript
        • Python
        • Data Structure
        • CS study
        • Distributed systems
      • [ Computer Security ]
        • Convergence Security
        • Web Security
        • PIMS
        • Network Security
        • Digital Finance
      • [ Artificial Intelligence ]
        • Trend
        • Seminar
      • [ 미래, 같이, LG ]
      • [ Development ]
        • [ Front-end ]
        • [ Back-end ] Spring 기본
        • [ Back-end ] Node.js
      • etc
        • 현대오토에버 스마트 모빌리티 공학 체험 교육
      • It's me
  • 블로그 메뉴

    • 링크

      • GitHub
    • 공지사항

    • 인기 글

    • 태그

      소프트웨어 공학
      SQL
      프로그래밍 언어론
      SSAFY
      공대생 대외활동
      SQL 쿼리
      현대오토에버
      데이터베이스
      자바스크립트
      프로그래머스 입문
      spdk
      백준
      ssafy 13기
      프로그래머스 c++
      싸피 13기
      티스토리챌린지
      MySQL
      현대오토에버 스마트 모빌리티
      대학생 대외활동
      오블완
      코딩 교육
      비전공자 코딩
      싸피
      코드잇
      프로그래머스
      프로그래머스 코테
      hotstorage
      현대오토에버 스마트모빌리티
      스마트모빌리티공학체험교육
      코딩 인강
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.4
    dev charlotte
    [Spring/Swagger] 스프링부트에서 Swagger 사용하기 :: springdoc-openapi-ui 라이브러리
    상단으로

    티스토리툴바