DRF解析器源码分析

DRF解析器源码分析

1 解析器

解析请求者发来的数据(JSON)

使用 request.data 获取请求体中的数据。

这个 reqeust.data 的数据怎么来的呢?其实在drf内部是由解析器,根据请求者传入的数据格式 + 请求头来进行处理。

drf默认的解析器三个JSONParser, FormParser, MultiPartParser

1.1 JSONParser (*)

只支持JSON格式的数据

1.2 FormParser

1.3 MultiPartParser(*)

既支持发送数据,又支持传输文件

解析器可以设置多个,默认解析器:

python 复制代码
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.parsers import MultiPartParser, JSONParser, FormParser

class UserView(APIView):
    parser_classes = [MultiPartParser, JSONParser, FormParser]
    def post(self, request):
        print(request.content_type)
        print(request.data)
        return Response("...")

1.5 源码分析

相关推荐
代码or搬砖2 分钟前
SpringBoot整合SpringMVC
java·spring boot·后端
程序定小飞2 分钟前
基于springboot的汽车资讯网站开发与实现
java·开发语言·spring boot·后端·spring
Moment11 分钟前
LangChain 1.0 发布:agent 框架正式迈入生产级
前端·javascript·后端
回家路上绕了弯12 分钟前
朋友圈更新怎么实时通知?从发布到接收的全链路解析
后端·微服务
小坏讲微服务31 分钟前
整合Spring Cloud Alibaba与Gateway实现跨域的解决方案
java·开发语言·后端·spring cloud·云原生·gateway
q***136132 分钟前
Spring Cloud Gateway 整合Spring Security
java·后端·spring
追逐时光者1 小时前
一个基于 .NET WPF 开源的本地硬盘千万级图库以图搜图小工具!
后端·.net
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于springboot的在线影院系统设为例,包含答辩的问题和答案
java·spring boot·后端
程序员爱钓鱼1 小时前
Python 实战:如何读取多格式 Excel 并实现跨表匹配合并(支持 XLS / XLSX)
后端·python·面试