Back-End/Spring Framework

SpringBoot & Swagger

good_da22 2022. 11. 14. 22:27

SpringBoot


Spring의 경우 Application을 개발하려면 사전에 많은 작업(library 추가, dependency 설정, 그 외 SpringFramework가 처리해야 할 여러 가지 구성 및 설정 파일 등)이 필요

SpringBoot의 장점

  • project에 따라 자주 사용되는 library들이 미리 조합되어 있다.
  • 복잡한 설정을 자동으로 처리
  • 내장 서버를 포함하여 tomcat과 같은 WAS를 추가로 설치하지 않아도 개발 가능
  • WAS에 배포하지 않고도 실행할 수 있는 JAR파일로 Web Application 개발 가능
  • Spring Starter Project를 이용하여 쉽게 SpringBoot 기반 프로젝트 생성 가능

project 생성 구조 및 주요 구성 폴더 / 파일


src/main/java

  • java source directory

HelloSpringBootApplication

  • application 을 시작할 수 있는 main method가 존재하는 스프링 구성 메인 클래스

static

  • img, css, js 등 정적 resource directory

templates

  • SpringBoot에서 사용 가능한 여러 View Template(Tymleaf, Velocity, FreeMarker ...)

application.properties

  • application 및 스프링의 설정 등에서 사용할 여러 property를 정의한 file

src/main

  • jsp 등의 resource directory

Swagger


간단한 설정으로 프로젝트의 API 목록을 웹에서 확인 및 테스트 할 수 있게 해주는 Library

Swagger를 사용하면 Controller에 정의되어 있는 모든 URI를 바로 확인할 수 있다.

API 목록 뿐 아니라 API의 명세 및 설명도 볼 수 있으며, 또한 API를 직접 테스트해 볼 수도 있다.


Swagger를 이용한 REST API 문서화


프로젝트 개발 시 일반적으로 FrontEnd 개발자와 BackEnd 개발자 분리

FrontEnd 개발자의 경우 화면과 로직에 집중, BackEnd 개발자가 만든 문서 API를 보며 데이터 처리

이 때 개발 상황의 변화에 따른 API의 추가 또는 변경할 때 마다 문서에 적용하는 불편함 발생

이 문제를 해결하기 위해 Swagger 사용