Spring Boot REST API & Swagger

Mkim4·2024년 4월 18일

Spring Boot 게시판 REST API

Swagger

  • API의 사용법과 기능을 설명하는 문서를 작업하는 과정
  • 문서화가 잘 되어 있다면 API에 대한 이해도를 높이고, 개발 생산성을 높일 수 있음
  • 문서 작성 순서
    • API 명세서 작성
    • 엔드포인트(URI) 및 메서드 정의
    • 매개변수 및 페이로드 정의(요청 시 넘어오는 것들)
    • 응답의 형식과 내용 정의(상태코드, 헤더, 본문)
    • 발생할 수 있는 오류 코드 문서화
    • API에 대한 예제 작성
    • 명세를 기반으로 API 문서 생성(Swagger 를 통해 자동으로 생성 가능)

Swagger

  • 대규모로 API를 설계하고 문서화하는데 도움을 주는 오픈소스 API 문서화 프레임워크
  • API를 시각적으로 표현하고, 직접 API를 테스트해 볼 수 있음

Swagger 특징

  • 시각적 표현 -> API를 직관적으로 이해할 수 있도록 Swagger UI를 지원하여 시각적으로 API를 표현하는 기능을 제공하고, 이를 통해 개발자들이 API의 구조와 작동 방식을 쉽게 파악할 수 있음
  • 실시간 테스트 -> API를 실시간으로 테스트하고 디버깅하는 기능 제공
  • 문서 자동화 -> API 문서를 자동으로 생성하고 업데이트 하는 기능을 제공

Swagger 사용

  • 의존성 추가 -> pom.xml 파일에 Swagger 의존성 추가
  • Spring Boot 2.x 버전에서는 springfox 라이브러리를 주로 사용
  • Spring Boot 3.x 버전에서는 springdoc 라이브러리를 주로 사용

Swagger 문서화 Annotation

  • springdoc에서는 API 문서화할 때 다양한 어노테이션 사용
profile
귀요미 개발자

0개의 댓글