REST API란?
REST 기반으로 서비스 API를 구현한 것
최근 OpenAPI(누구나 사용할 수 있도록 공개된 API: 구글 맵, 공공 데이터 등), 마이크로 서비스(하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처) 등을 제공하는 업체 대부분은 REST API를 제공
REST API의 특징
REST API 설계 기본 규칙
- 도큐먼트 : 객체 인스턴스나 데이터베이스 레코드와 유사한 개념
- 컬렉션 : 서버에서 관리하는 디렉터리라는 리소스
- 스토어 : 클라이언트에서 관리하는 리소스 저장소
1. URI는 정보의 자원을 표현해야 한다
GET /Member/1
-> GET /members/1
2. 자원에 대한 행위는 HTTP Method(GET, PUT, POST, DELETE 등)로 표현
GET /members/delete/1
-> DELETE /members/1
GET /members/show/1
-> GET /members/1
GET /members/insert/2
-> POST /members/2
REST API 설계 규칙
1. 슬래시 구분자(/ )는 계층 관계를 나타내는데 사용
http://restapi.example.com/houses/apartments
2. URI 마지막 문자로 슬래시(/ )를 포함하지 않음
Ex) http://restapi.example.com/houses/apartments/ (X)
3. 하이픈(- )은 URI 가독성을 높이는데 사용
4. 밑줄(_ )은 URI에 사용하지 않음
5. URI 경로에는 소문자가 적합
6. 파일확장자는 URI에 포함하지 않음
http://restapi.example.com/members/soccer/345/photo.jpg (X)
GET / members/soccer/345/photo HTTP/1.1 Host: restapi.example.com Accept: image/jpg (O)
7. 리소스 간에는 연관 관계가 있는 경우
GET : /users/{userid}/devices (일반적으로 소유 ‘has’의 관계를 표현할 때) https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
응답상태코드