RESTful理解

Posted liuer-mihou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RESTful理解相关的知识,希望对你有一定的参考价值。

~什么叫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中获取版本,根据版本不同 做不同处理

 

以上是关于RESTful理解的主要内容,如果未能解决你的问题,请参考以下文章

RESTfulREST 与 RESTful 理解与实践

RESTfulREST 与 RESTful 理解与实践

理解RESTful架构

理解RESTful架构

Restful API理解

理解RESTful架构