REST API
REST 위키피디아
정의
HTTP URI 를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD Operation(Create, Read, Update, Delete)을 적용하는 것
GET - Read : 데이터 요청
POST - Create : 데이터 생성
PUT - Update : 데이터 전체 업데이트
PATCH - Update : 데이터 일부 업데이트
DELETE - Delete : 데이터 삭제
장점
- 널리 사용되고 있기에 익숙하다.
- REST API의 메시지를 읽는 것 만으로 요청의 의도를 파악할 수 있다.
- 서버와 클라이언트가 분리되어있어 시스템 확장이 편하다.
단점
- 공식적인 표준이 존재하지 않다.
- 엄격한 표준이 아닌 아키텍처 스타일 중 하나이기에 일관성을 유지하기가 어렵다.
- 메소드 형태가 제한적이다.
- 복잡한 요구사항을 처리할 경우 여러 번의 요청이 필요할 수 있다.
Swagger
정의
REST API 문서 자동화를 지원하는 라이브러리
Swagger 참고 글
장점
- api 문서를 자동으로 생성해주어 개발 시간을 절약하고 프론트엔드와의 소통을 편리하게 해준다.
- 문서를 자동으로 생성해주기 때문에 문서와 코드간의 불일치가 줄어든다.
- 하찮은 백엔드 개발자 따위가 만드는 문서보다 더욱 보기 좋은 UI를 제공한다.
- 여기저기서 사용하는 기술이라 포트폴리오에 쓰기 좋다.
단점
- 코드 작성 시 주석과 애너테이션을 관리해줘야한다.