REST API란
- REST 기반으로 서비스 API를 구현한 것이다.
- 최근 OpenAPI나 마이크로 서비스 등을 제공하는 업체 대부분은 REST API를 제공한다.
REST API의 특징
- 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능한 것입니다.
REST API의 디자인 가이드
- URI는 정보의 자원을 표현해야 한다.
- 자원에 대한 행위는 GTTP Method로 표현한다.
REST API의 설계 규칙
- URI는 명사를 사용한다.
- 슬래시(/)로 계층 관계를 표현한다. ex) http://restapi.example.com/houses/apartments
- URI 마지막 문자로 슬래시(/)를 포함하지 않는다. ex) http://restapi.example.com/houses/apartments/ (X)
- 밑줄(_)을 사용하지 않고, 하이픈(-)을 사용한다.
- URI는 소문자로만 구성한다.
- HTTP 응답 상태 코드 사용(클라이언트는 해당 요청에 대한 실패, 처리완료 또는 잘못된 요청 등에 대한 피드백을 받아야 한다.)
- 파일 확장자는 URI에 포함하지 않는다. ex) http://dev-coco.tistory.com/restapi/220/photo.jpg (X)
RESTful이란
- RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다.
- ‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있다.
RESTful 목적
- 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것이다.