이전에 @RestController로 RESTful API를 작성했었다.
이제 이를 자동으로 생성해주는 Swagger 문서를 적용하는 법을 알아보자.
검색을 해보니 Spring-Fox
이놈이 자주 보였다.
이를 한번 적용해보자!
먼저, 의존성에 아래 내용을 넣자.
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
Gradle을 다시 적용하고, 서버를 실행한 후 Swagger-Doc에 들어가보자.
어라....
왜 안될까...
검색해보니 WhiteLabel ErrorPage 해결법이 있어 해당 방법을 써봤다. Gradle도 수정하자!
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest
설정도 귀찮고, 스프링부트 3.1.1은 지원하지 않는것 같아 다른 방법을 찾아봤다.
springfox springboot 3.1.1
Stackoverflow - How to run Swagger 3 on Spring Boot 3
gradle 기준 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
을 추가하자.
그리고 서버를 실행하고 Swagger-Doc에 들어가면??
너무나도 잘 된다...
Spring-Doc은 공식 문서 사이트가 사라져있다.
쓰는 방법은 대부분 비슷비슷하니 다른 Swagger 방식을 적용해도 될 듯...?
api도 대충 만들어놨고
swagger도 잘 작동되고
이제 뭐하지?
기존에 있던 카카오 로그인을 구현하려고 한다.
고로 Spring Security + JWT 를 다음 차시에 해보자!