현대 웹 개발에 가장 널리 사용되는 API 엔드포인트 구조를 구현하는 방식
Representational State Transfer라는 용어의 약자로서 웹 설계의 우수성을 최대한 활용한 아키텍쳐
/showproducts/1
product/1
/product_get/
get이라는 동사를 사용하고, 클라이언트 측에서 request body에 필요한 정보를 담아 보낸다.
products?offset=<int:offset>&limit=<int:limit>
class PostView(View):
def get(self, request, offset, limit):
http method를 GET으로 지정하고, query string을 활용해 id가 1-100까지의 post의 데이터를 요청한다.
posts/<int:post_id>
GET http://127.0.0.0:8000/posts/3
id가 3인 post에 접근 요청
class PostView(View):
def get(self, request, post_id)
매개변수로 uri의 post_id를 받는다. db에서 post_id
가 3인 post의 정보를 클라이언트 측에 응답한다.
http://127.0.0.0:8000/parametername?key1=value&key2=value
key1 = request.GET.get('key1', default)
key2 = request.GET.get('key2', default)
key1, key2를 request.GET.get
로 가져온다. 만약 클라이언트에서 오지 않는 경우 default
값이 대신 key1
, key2
에 담긴다.