🔥 T.G.I.F 🔥 을 맞이해 알아보는 REST API 규칙!
REST API는 웹 서버에게 요청을 보내고, 응답을 받아오는 방법을 정해놓은 규칙
REST API 규칙을 지키면, 서버와 클라이언트가 서로 원활하게 통신할 수 있음!
1. URI에는 동사보다는 명사를 사용
- 예를 들어, "사용자 정보 조회"라는 동작을 수행하기 위해서는 /users와 같은 URI를 用
2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현
ex)
"/users"에 대한 사용자 정보 전체 조회 : GET /users
"/products"에 새로운 제품 등록 : POST /products
"/users/1"에 대한 사용자 정보 수정 : PUT /users/1
"/products/2"에 대한 제품 삭제 : DELETE /products/2
3. 자원에 대한 행위는 HTTP Method로 표현
- 예를 들어, "/users" 자원에 대해 조회하는 동작은 GET 메소드를 사용하며, "/users" 자원을 생성하는 동작은 POST 메소드를 用
4. 메세지는 Header과 Body를 가짐
- HTTP 요청 메시지와 응답 메시지는 Header와 Body로 구성됩니다. Header는 메시지에 대한 정보를 포함하며, Body는 전송할 데이터를 포함
- Header: 요청 또는 응답 메시지에 대한 메타 정보를 담고 있습니다.
- 예시) Accept: 클라이언트가 선호하는 응답 데이터 타입을 지정합니다.
- 예시) Content-Type: 서버에서 클라이언트로 전송한 데이터의 타입을 지정합니다.
- Body: 서버나 클라이언트에서 전송되는 데이터를 담고 있습니다.
- 예시) {"name": "Eunbi", "age": 99, "email": "bi@example.com"}
+ HTTP 요청 메시지는 Header와 Body로 구성되며, Header에는 요청 메시지에 대한 메타 정보가 포함되고, Body에는 전송할 데이터가 담기게 됩니다. HTTP 응답 메시지도 마찬가지로 Header와 Body로 구성되며, Header에는 응답 메시지에 대한 메타 정보가 포함되고, Body에는 서버에서 클라이언트로 전송할 데이터가 담기게 됨
5. Stateless 통신을 함
- REST API는 상태를 유지하지 않습니다. 즉, 각각의 요청은 독립적으로 처리되며, 이전 요청과 관련이 없음
6. URI에는 슬래시('/')를 사용하여 계층적 구조를 나타냄
"/users/1" : 사용자 정보 중 id가 1인 자원
"/products/2/reviews/1" : 제품 중 id가 2인 제품의 리뷰 중 id가 1인 리뷰 자원
'개발공간 > HW' 카테고리의 다른 글
❓DI를 구현하는 가장 좋은 방법?! (1) | 2023.04.19 |
---|---|
❓REST API vs RESTful API (0) | 2023.04.13 |
💭 본격 프로젝트 Entity 구상해보기 (0) | 2023.04.13 |
❓REST API (0) | 2023.04.12 |
🔎 스프링에서 사용하는 어노테이션 (0) | 2023.04.11 |