[REST API] Path Prameter & Query Prameter
REST API 란?
API 또는 애플리케이션 프로그래밍 인터페이스는 애플리케이션이나 디바이스가 서로 간에 연결하여 통신할 수 있는 방법을 정의하는 규칙 세트 즉, API 시스템을 구현하기 위한 아키텍처(구조) 중에 가장 널리 사용되는 형식을 말한다.
가장 기본 레벨에서, API는 하나의 애플리케이션이나 서비스가 다른 애플리케이션이나 서비스 내의 리소스에 액세스할 수 있도록 해주는 메커니즘이다.
액세스를 수행하는 애플리케이션이나 서비스를 클라이언트라고 하며, 리소스가 포함된 애플리케이션이나 서비스를 서버라고 한다.
REST API 형식 기준은?
✅ 페이지 기준이 아니라 기능 기준
✅ 동사는 쓰지말고 명사로 쓰자
✅ 검색을 하는 건 GET method!
✅ 여기서 주목해야하는 것은 '?' : 어떤 기준으로 검색할지, 상품을 검색할건데 이름은 무엇인지
Path Prameter
POST GET http:// xxx.xx.xx:8000/products
request body { "name" : "무농약 깐 생강" 👉 "price" : "3000"` } |
Response body { "id" : 1 "name" : 무농약 깐 생강" "price". : 3000" } |
PUT 과 PATCH는 수정매소드
PUT : 전체를 수정한다
PATCH : 일부분을 수정한다
PATCH http:// xxx.xx.xx:8000/products/1
request body { "price" : "1100" 👉 } |
Response body { "id" : 1 "name" : 무농약 깐 생강" "price". : 1100" } |
Query Prameter
GET /products?ordering = -id
id값이 내림차순으로 정렬
GET /products?offset=0&limit=100
pagination
GET /users?search=홍길동
user에서 홍길동을 찾아라
어떤 것이 효율적일까?
서버의 관점에서 효율적이란말은 서버가 죽지 않고 운영된다는 것이다.
이때 각 파라미터의 특징을 알아두면 좋다.
1. Path Prameter : GET /products/3
: 404 error - 오류를 내는 파라미터
2. Query Prameter : GET /products?3
: 에러가 안나고 빈 쿼리가 뜸 - 오류가 나면 안되는 파라미터