스웨거라고 들어봤는가.
API 명세를 엑셀에 일일이 써주던 시간이 헛된 시간처럼 느끼게 해준다.
설정되어 있는 API들의 설명과 request, response들의 파라미터들을 일목요연하게 보여준다.
사용법을 정리해본다.
의존성 추가
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
위의 의존성을 추가하면 그 안에 Swagger를 포함해 기능을 사용할 수 있다.
어노테이션
클래스단에서와 각 메소드단에서 어노테이션을 달아준다.
@Tag
: 클래스(아마 Controller)에 해당 어노테이션과 API 이름과 설명을 달아준다.
@Operation
: 메소드에 해당 기능과 설명을 달아준다.
Swagger UI 보기
위처럼 꼼꼼하게 어노테이션을 달아뒀다면,
이를 한번에 볼 수 있다.
서버를 실행해준 뒤 /swagger-ui/index.html#/ 주소를 입력해주기만 하면 된다.
ex.
http://localhost:8080/swagger-ui/index.html#/
그러면 아래처럼 카테고리별 그리고 각 메소드와 URI를 확인할 수 있다.
각 Request, Response. 헤더와 바디에 들어가야할 데이터 타입과 변수명 등 한번에 요약되어 볼 수 있다.
알아보는 과정에서 꽤나 손품을 팔았지만, 다 적용하고 보면 쉬워보인다.
그래도 협업시 적용할 수 있는 기술 하나 늘렸다는 사실이 가져다 주는 성취감이 꽤나 크다.
그리고 이미 공부해둬서 큰 도움 준 팀원이 고맙다.
나 또한 뭔가를 공유할 시간이 있었으면 좋겠다.
'TIL : Today I learned (or Week)' 카테고리의 다른 글
TIL 230809 : 개인점검 (0) | 2023.08.10 |
---|---|
TIL 230808 : 코드 디테일 조금씩 살려보기 (Transactional, NoArgsConstructor(AccessLevel = PROTECTED)) (0) | 2023.08.08 |
WIL 230806 : 모든 수업만큼은 끝. (0) | 2023.08.07 |
TIL 230804 : 테스트 코드의 막막함. (0) | 2023.08.07 |
TIL 230803 : Test하며 자잘한 깨달음 몇 개 (0) | 2023.08.03 |