Spring

Spring Swagger - API 문서화

jCurve 2021. 10. 11. 01:51
728x90
반응형

현재 진행하고 있는 프로젝의 API문서화를  Swagger로 진행하고 있습니다. 

API 문서화는 저는 혼자 프로젝트를 진행하면서 필요성을 느끼지는 못하지만 그래도 추후 프론트엔드 개발자나 아니면 제가 프론트엔드 개발을 진행하게되면 그때 사용할 목적, 포트폴리오 제출시 API 테스트 목적 등등 다양한 목적으로 문서화를 하고 있습니다. 

 

Spring의 Swagger적용은 springfox-swagger 의존성을 추가해서 구성하고 작성이 가능한데요

 

 

이런식으로 추가 후 Swagger관련 설정파일을 만들고 설정을 진행해 주심 됩니다. 

 

문서에 관한 설명이나 특정 파라미터에 대한 무시 처리, paging을 위해 입력받을 PageRequest객체에 대한 resolver 설정 등등 많은데 이런 설정에 관한 설명은 이미 관련해서 훌륭하신 개발자분들의 블로그에 많이 있기 때문에 저는 넘어가겠습니다,, ^^ㅎ

 

추가로 저는 Spring Security를 적용하고 있기 때문에 Swagger문서에 접근하기 위한 설정을 열어주겠습니다. 

 

 

이제 basePackage로 등록한 Controller Package에서 각종 Controller에 Swagger 애너테이션으로 문서에 나타낼 정보들을 표시해주겠습니다. 

 

이런식으로 API 문서에 나타내고자하는 정보들을 관련 애너테이션으로 설정이 가능합니다. 

 

근데 저는 아무리 애너테이션이긴 하지만 추후 의존성이 빠졌을때 관련 정보들이 너무 순수 소스 파일에 묻어있는 것은 좋지 않다고 생각해서 필수적으로 나타내고 싶은건만 간소화해서 사용하고 있습니다. 

 

이제 브라우저상에서 Swagger 문서가 잘 나타나는지 보겠습니다. 

 

 

브라우저상에서 접속이 잘 되는 것을 확인할 수 있습니다. 

 

 

사용자 정보를 요청하는 API를 실행해보면 test용으로 만들어둔 사용자 정보를 성공적으로 반환하는 것을 확인할 수 있습니다. 

반응형