Request 解析前端
REST framwork 的 Request
對象提供了靈活的請求解析,容許你使用 JSON data 或 其餘 media types 像一般處理表單數據同樣處理請求。git
request.data
返回請求主題的解析內容。這跟標準的 request.POST
和 request.FILES
相似,而且還具備如下特色:django
POST
之外的 HTTP method , 好比 PUT
, PATCH
。.data
都可以正確解析)。.data 具體操做,之後再說~api
request.query_params
等同於 request.GET
,不過其名字更加容易理解。ui
爲了代碼更加清晰可讀,推薦使用 request.query_params
,而不是 Django 中的 request.GET
,這樣那夠讓你的代碼更加明顯的體現出 ----- 任何 HTTP method 類型均可能包含查詢參數(query parameters),而不單單只是 'GET' 請求。rest
.parsercode
APIView
類或者 @api_view
裝飾器將根據視圖上設置的 parser_classes
或 settings
文件中的 DEFAULT_PARSER_CLASSES
設置來確保此屬性(.parsers
)自動設置爲 Parser
實例列表。orm
一般不須要關注該屬性......
若是你非要看看它裏面是什麼,能夠打印出來看看,大概長這樣:
包含三個解析器 JSONParser
,FormParser
,MultiPartParser
。
注意: 若是客戶端發送格式錯誤的內容,則訪問
request.data
可能會引起ParseError
。默認狀況下, REST framework 的APIView
類或者@api_view
裝飾器將捕獲錯誤並返回400 Bad Request
響應。 若是客戶端發送的請求內容沒法解析(不一樣于格式錯誤),則會引起UnsupportedMediaType
異常,默認狀況下會被捕獲並返回415 Unsupported Media Type
響應。