FE 분들과 처음으로 협업(팀플)을 하게 되면서 FE 분들에게 API 명세를 드리기 위해 swagger를 사용해보게 되었다.
아직도 1/10도 모르는 것 같지만 이후에 다시 공부할 날을 대비해 기록을 남긴다.
스웨거(swagger)란?
API 명세를 관리하기 위한 프로젝트
Web에서 직접 작성하거나 Spring에 의존성 주입해서 사용하는 두가지 방법이 있다.
우리 팀에서는 코드 작성이 거의 되어 있지 않은터라 빠르게 API 명세를 FE분들께 넘겨드리기 위해서 웹에서 직접 작성하는 방식을 사용하였다.
팀원과 함께 작성한 swagger의 일부를 캡쳐했다.
19번
라인의 paths를 작성한 뒤에 21번
라인에는 post/get/put
등 구현하고자 하는 방식을 적어주면 된다.
그리고 우리팀 같은 경우에는 cardDto를 사용하여 구현하기로 했기 때문에 31번
라인의 200 응답일 때 schema로 cardDto를 넣어주었다.
이런식으로 작성을 마치면
위의 그림 처럼 깔끔(?)하게 확인할 수 있다.
모두 작성한 뒤에는 오른쪽 상단의 view documentation
을 클릭하면 문서 형식으로도 확인할 수 있다.
하지만 웹으로 작성했을 때는 변경 사항이 발생했을 때 한땀 한땀 수작업으로 swagger를 수정해줘야 하기 때문에 spring에 의존성 주입을 해서 사용하는 것이 훨씬 효율적이라고 생각된다.. (변경 사항이 바로 적용됨)
그리고 너무 당연한 얘기지만 공식문서가 짱이다..!!! 막힐 땐 swagger에서 제공하는 공식문서를 꼭 확인하자!
참고
swagger 공식문서
부스트캠프 swagger
동빈나님의 swagger강의
스프링-swagger사용하기 by 향로님
자바 프로그래머 브이로그 - swagger
스프링부트 - swagger