一 我们首先要知道解析器是什么以及他的功能:
REST framework 包含许多内置的解析器类,允许接受各种媒体类型(media types)的请求。还支持自定义解析器,这使你可以灵活地设计 API 接受的媒体类型。其实就是对不同的数据类型进行解析。
二 关于解析器的一个流程:
① 首先我们在url初始化的时候会执行as_view()方法,那么我们进入APIView中的as_view()方法,执行as_view()方法的结果就是返回一个view方法。那么我们的APIView中并没有view方法,我们需要到他的父类也就是View中去,在执行view的过程中,调用dispatch方法,那么这个时候就出现一个问题,View以及我们的APIView中都有dispatch方法,那么到底是执行那个呢?这还有疑问自己有肯定执行自己的呀,所以又到了我们的APIView中去执行dispatch方法。
具体执行步骤如下图:
三 设置解析器:
全局解析器:
局部解析器:
默认解析器: