REST API가 나온 배경
최근의 서버 프로그램은 여러 웹 브라우저는 물론이며, 아이폰, 안드로이드
애플리케이션과의 통신에 대응할 수 있어야 합니다.
따라서 플랫폼에 맞추어 새로운 서버를 만드는 수고를 들이지 않기 위해 범용적으로
사용성을 보장하는 서버 디자인이 필요하게 되었습니다.
이런 과정에서 개발자들은 Client Side를 전혀 고려하지 않고 메시지 기반, XML, JSON과 같은 Client에서 바로
객체로 치환 가능한 형태의 데이터 통신을 지향하게 되면서 Server와 Client의 역할을 분리하게 되었다.
REST 구성
rest api 는 3가지로 구성되어 있습니다.
자원(RESOURCE) - URI
자원을 구별하는 ID는 /orders/order_id/1 와 같은 HTTP URI 이다.
행위(Verb) - HTTP METHOD
HTTP 프로토콜은 GET, POST, PUT, DELETE와 같은 메서드를 제공한다.
표현(Representations)
Client가 자원의 상태 (정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답 (Representation)을 보낸다
현재는 JSON으로 주고 받는 것이 대부분이다.
RESTful API를 위한 HTTP Methods
REST API 디자인 가이드
첫 번째, URI는 정보의 자원을 표현해야 한다.
두 번째, 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
URL는 정보의 자원을 표현을 한다. 리소스명은 동사보다는 명사를 사용
GET /members/delete/1 -> DELETE /member/1
왼쪽에 있는 경우는 REST를 적용하지 않은 잘못된 URI입니다.
자원에 대한 행위는 HTTP Method(GET, POST, DELETE, PUT) 으로 표현해야 합니다.
회원정보를 가져올 떄
GET /member/1
회원을 추가할 때
POST /member/2
회원 정보를 수정할때
PUT /member/1
URI 설계 시 주의할 점
1. 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용
2. URI 마지막 문자로 슬래시(/)를 포함하지 않는다.
3.밑줄(_)은 URI에 사용하지 않는다.
'프로그래밍' 카테고리의 다른 글
트래픽이 증가할 때 고려해야 할 사항 (0) | 2024.05.25 |
---|---|
[tomcat] 톰캣 가상 호스팅 (0) | 2023.06.06 |
웹 서버와 WAS의 차이 (0) | 2023.01.12 |
쿠키(cookie) 저장 및 삭제 (0) | 2022.12.29 |
객체지향 프로그래밍의 5가지 설계 원칙, SOLID (2) | 2022.10.22 |