코딩/🟢 DJANGO

[REST API] Path Prameter & Query Prameter

개발을 하게 되. 2021. 9. 13. 00:26

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

: 에러가 안나고 빈 쿼리가 뜸 - 오류가 나면 안되는 파라미터