~什么叫restful 框架?~ restful其实就是一套编写接口的协议,协议规定如何编写以及如何设置返回值、状态码等信息。 1.核心思想 1.1面向资源去编程 url中尽量名词不要用动词 1.2根据HTTP请求方式的不同对资源进行不同的操作 get 返回查看的所有或者单条数据 post 返回新增的这条数据 put/patch 返回更新的这条数据 delete 返回值空 2.在url中体现的 2.1体现版本 https://v2.bootcss.com/ https://bootcss.com/v2 2.2体现是否是API https://v2.bootcss.com/api 2.3有过滤条件 https://v2.bootcss.com/course?page=1 2.4尽量用https 3.在返回值中 3.1携带状态码 3.2返回值 3.3携带错误信息 3.4携带超链接 ~说一下django rest framework框架中都有那些组件?~ 1.序列化组件: serializers 对queryset序列化以及对请求数据格式校验 2.路由组件 routers 进行路由分发 3.视图组件ModelViewSet 帮助开发者提供了一些类,并在类中提供了多个方法 4.认证组件 写一个类并注册到认证类(authentication_classes),在类的的authticate方法中编写认证逻 5.权限组件 写一个类并注册到权限类(permission_classes),在类的的has_permission方法中编写认证逻辑 6.频率限制 写一个类并注册到频率类(throttle_classes),在类的的allow_request/wait 方法中编写认证逻辑 7.解析器 选择对数据解析的类,在解析器类中注册(parser_classes) 8.渲染器 定义数据如何渲染到到页面上,在渲染器类中注册(renderer_classes) 9.分页 对获取到的数据进行分页处理, pagination_class 10.版本 版本控制用来在不同的客户端使用不同的行为,在url中设置version参数,用户请求时候传入参数。在request.version中获取版本,根据版本不同 做不同处理