TIL(Today I Learned)

Day.45 swagger 적용하기

지팡구 2023. 1. 20. 09:25

들어가기

처음으로 스웨거라는 라이브러리를 적용해보았다.

스웨거는 API를 자동으로 문서화 해주는 기능으로, 사용자가 직접 test 까지 해볼 수 있는 장점이 있다.

 

스웨거?  Rest Apu를 문서화 혹은 빌드 등을 위해 사용하는 OpenAPI 사양을 중심으로 구축된 오픈 소스 도구 세트

 

https://swagger.io/

 

API Documentation & Design Tools for Teams | Swagger

 

swagger.io

 

기존에 진행했던 프로젝트들에선 postman과 직접 노가다?를 통해 API 명세서를 작성했었는데, 이를 사용함으로서 더욱 깔끔하고 편하게 작업을 진행할 수 있었다. 이로서 생산성을 높일수 있는 장점이 있었다.

 

 

스웨거 적용해보기

 

먼저 첫번째로 라이브러리를 추가해야한다

(나 같은 경우엔 gradle)이라서 아래와 같이 추가했다.

implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.8.0'
implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.8.0'

 

그 다음 Swagger를 사용하기 위해서 설정이 필요하다. 

이러한 방식으로 설정을 끝마치고, 애플리케이션을 실행시켜, localhost:[port]/swagger-ui.html 로 접속해보면 된다.

 

만약 스프링 시큐리티를 적용했다면

 

private static final String[] PERMIT_URL_ARRAY = {
        /* swagger v2 */
        "/v2/api-docs",
        "/swagger-resources",
        "/swagger-resources/**",
        "/configuration/ui",
        "/configuration/security",
        "/swagger-ui.html",
        "/webjars/**",
        /* swagger v3 */
        "/v3/api-docs/**",
        "/swagger-ui/**"
};

 

다음과 같은 설정들이 필요하다.

 

추가적으로 Swagger 문서를 꾸밀 수 있으니까 검색하며 자신에게 필요한 기능들을 찾아서 쓰는 것이 좋다.