REST API
인터페이스 일관성 준수 여부로 REST를 잘 사용했는지 판단을 할 수 있다.
1. 자원의 식별
웬 기반의 REST에서는 리소스 접근을 할 때 URI를 사용한다.
- https://example.co.kr/user/100
- Resuorce: user
- Identifier: 100
2. 메시지를 통한 리소스 조작
- web에서 데이터를 전달하는 방식: HTML, XML, JSON, TEXT 등
- 어떠한 타입의 데이터를 사용하는지 알려주기 위해서 HTTP Herader부분에 content-type을 통해서 데이터의 타입을 지정해 줄 수 있음
- 리소스 조작을 위해서 데이터 전체를 전달하지 않고, 이를 메시지로 전달함
3. 자기 서술적 메시지
- HTTP 기반의 REST에서는 HTTP Method와 Header 정보, URI에 포함되는 정보로 표현가능
- GET: https://example.co.kr/user/100 <- 사용자의 정보 요청
- POST: https://example.co.kr/user <- 사용자 정보 생성
- PUT: https://example.co.kr/user <- 사용자 정보 생성 및 수정
- DELETE: https://example.co.kr/user/100 <- 사용자 정보 삭제
그 외의 정보는 URI의 메시지를 통하여 표현한다.
4. 애플리케이션 상태에 대한 엔진으로써 하이퍼미디어
- REST API를 개발할 때 단순히 Client 요청에 대한 데이터만 응답 해주는 것이 아닌 관련된 리소스에 대한 Link 정보까지 같이 포함되어져야 함
위 4가지 조건을 잘 갖춘 경우 RESTful하다고 표현하고 이를 REST API라고 부른다.
참고: <한번에 끝내는 Java/Spring 웹 개발 초격차 패키지> 패스트 캠퍼스, 예상국 강사님