源码流程
- 本质
- 源码流程
- dispatch : request封装
- request.data
使用
- 局部
from rest_framework.parsers import JSONParser, FormParser
class ParserView(APIView):
parser_classes = [JSONParser]
"""
JSONParser: 表示只能解析 application/json 请求头
FormParser: 表示只能解析 application/x-www-form-urlencoded 请求头
"""
def post(self, request, *args, **kwargs):
"""
允许用户发送JSON格式的数据
a. content-type: application/json
b. {"name": 'alex', "age": 18}
:param request:
:param args:
:param kwargs:
:return:
"""
"""
1. 获取用户请求
2. 获取用户请求体
3. 根据用户请求头和 parser_classes = [JSONParser, FormParser] 中支持的请求头进行比较
4. JSONParser对象中去请求体
5. request.data
"""
print(request.data)
return HttpResponse('JSON测试')
- 全局
# 全局使用
REST_FRAMEWORK = {
"DEFAULT_PARSER_CLASSES": ["rest_framework.JSONParser", "rest_framework.FormParser"]
}
网友评论