본문 바로가기
TIL

내일배움캠프 8주차 Spring Swagger 적용하기

by 율량동박씨 2024. 6. 6.

오늘의 키워드

  • Swagger

오늘의 내용

  • Swagger-ui
    • Rest API를 설계, 빌드, 문서화하고 사용하는데 도움 되는되는 OpenAPI 사양을 중심으로 구축된 오픈 소스 도구이다
    • swagger의 장점은 구현 논리를 마련하지 않고도 API리소스를 시각화해서 Postman보다 편리했다
  • 사용방법
  • 사용을 위해서는 build.gradle에 의존성을 추가 해준다
dependencies {
   // Swagger 설정
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
}
  • Swagger config 클래스를 만들어 작성해 준다
@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .components(new Components())
                .info(apiInfo());
    }
 
    private Info apiInfo() {
        return new Info()
                .title("테스트")
                .description("Swagger UI 테스트")
                .version("1.0.0");
    }
}
  • 코드를 짧게 설명하면 아래와 같다
    • OpenAPI 클래스는 Swagger 3.0을 구축하는 클래스로 API 문서의 구조를 정의한다
    • apiInfo 메서드는 API문서의 기본정보를 담는 Info객체를 생성하고 반환한다
    • 본인이 작업 중인 프로젝트에 따라 설정이 달라진다
  • 위에 과정으로 작성이 완료되면 http://localhost:8080/swagger-ui.html로 접속하면 아래와 같은 화면이 브라우저 창에 뜬다

예시 화면

오늘의 회고

  • 팀프로젝트에 swagger를 적용시키는데 많은 시간을 사용해 추가 기능 구현을 하지 못한 게 아쉬웠다. 내일은 쉬는 날이긴 한대 아마 나와서 작업을 해야 추가 기능 구현을 할 수 있을 거 같다. 항상 느끼지만 팀프로젝트를 하면 코드작성보다 힘든 건 Github 사용인 거 같다.