request가 뭔데?
문득 코딩을 하던 도중 get, post, put ,delete의 인자값으로 request를 당연시 받던것이 궁금해졌다
도대체 얘는 뭘 갖고 오는놈이지?
- 리퀘스트는 HTTP 로 서버와 통신하면서 말 그대로 요청한 내용을 서버에서 확인할 수 있도록 담긴 변수를 의미합니다.
- CBV(클래스 뷰), FBV(함수 뷰)에서 규칙을 지키면서 request를 각 함수에 인자로 받았다면 바로 사용할 수 있게 됩니다.
- 주로 request 변수에서는 로그인한 사용자, 서버통신을 요청하기 위해 입력한 데이터를 확인하는데 주로 사용합니다.
- def(request) 와 같이 함수에 인자로 request를 넣는 것으로 URL→VIEW(클래스뷰, 함수뷰)를 통해서 request를 전달합니다.
- request.user = request 요청에서 사용할 수 있는 로그인된 사용자를 조회하는 메서드 user의 값을 의미합니다. django의 경우 오브젝트 형식으로 담겨있으며 변수로 초기화하여 사용할 수 있습니다
- request.data = request 요청에서 data 즉, JSON 형식으로 요청한 데이터를 딕셔너리형태로 담겨져 있는 것을 의미합니다. request.data[’title’]과 같이 딕셔너리와 같은 방식으로 키 값을 선언하여 밸류 값을 호출할 수 있습니다.
- 이 외에도 리퀘스트 요청하기 위한 특수 설정, 요청한 HTTP METHOD(GET,POST,PUT,DELETE)형식을 확인하는 다양한 데이터가 포함되어 뷰에서 사용할 수 있습니다.
공식문서