Swagger
Swagger는 Open API Specification(OAS) 프레임워크이다.
종종 API를 확인하기 위해 API서버 도메인에 연결하면
이러한 화면을 볼 수 있다.
API 서버에 정의된 각 API 함수들이
어떤 데이터를 주고받는지 확인할 수 있으며,
어떤 동작이 이루어지는지 테스트해볼 수도 있다.
API서버를 개발하는 단계에서도,
정의한대로 데이터가 입출력 되는지 확인해볼 수 있어 유용하다.
Swagger 의 최대 장점이자 특징은 자동화이다.
정의된 API를 목록화하여 보여주기 위해 UI를 설계하고,
소스코드를 직접 입력하여 화면을 구성한다고 가정하면,
어떤 변경사항이 있을 경우, 각각의 코드를 직접 수정해야하지만,
Swagger는 알아서 자동으로 해준다.
일일이 수정할 필요 없이, API 함수만 수정해주면,
자동으로 적용되기 때문에, 매우 편하게 API문서를 관리할 수 있다.
#
웹서비스를 하나 만드는 데에는 정말 복잡하고 많은 API함수가 필요하다.
당장 회원관련 API만 하더라도,
회원가입, 로그인, 회원정보 수정, 탈퇴, SNS로그인, 초대 및
기타 회원관리정책에 따른 설정 등, 복잡하게 구성된다.
그만큼 데이터 구조도 복잡해진다.
서비스에 포함된 기능이 많을 수록 더 많은 API함수가 정의되어야 하며,
이를 관리하기위한 API문서는 필수적이다.
Swagger는 이러한 일련의 관리작업을 상당부분 간편하고 쉽게 해결해준다.
모든 브라우저에 호환되며, 사용자친화적이고, 다양한 프레임워크 상에서
이용가능하기 때문에, 사용성이 넓다고 볼 수 있다.
API 서버를 구축하고자 한다면, Swagger의 사용을 고려해보는 것이 좋겠다.