Django----djagorestframwork使用

2019-07-22  本文已影响0人  优秀的人A

restf规则:
API与用户的通信协议,使用的是http协议
1:域名尽量部署在专有域名之下,若API很简单,不会进一步扩展,可以考虑放在主域名下。

2:应将api的版本号放入url,还可以将版本号放入Http请求头信息中,但不如放在url中方便。

3:在RESTful架构中,每个网址代表一种资源(resource),所以网址中应该有动词,应该使用名词,
而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。

4:用于区别url接口应将API加入到url.

5: 如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。

6: 服务器向用户返回的状态码和提示信息。

7 : 如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。

8: 请求方式的不同,进行不同的操作。post----get----put----patch----delete


restful-api:
API与用户的通行协议,总是使用HTTPs协议
api:---------------------------------------------------------------------------------------接口

用途:
1:为别人提供服务----------发送短信
2:前后端分离--------------前后端分离
规范:

1:url+api
https://api.example.com------------------------------------------------------------尽量将API部署在专用域名(会存在跨域问题)
https://example.org/api/-----------------------------------------------------------API很简单

2:名词
资源名必须是名词,不能是动词.....

3:版本

URL-------------------------------------------------------------------------------如:https://api.example.com/v1/

请求头------------------------------------------------------------------------------跨域时,引发发送多次请求

4:提交方式------------------------------------------------------------method

GET:-------------------------------------------------------------------------------从服务器取出资源(一项或多项)
POST:------------------------------------------------------------------------------在服务器新建一个资源
PUT:-----------------------------------------------------------------------------在服务器更新资源(客户端提供改变后的完整资源)
PATCH :----------------------------------------------------------------------------在服务器更新资源(客户端提供改变的属性)
DELETE:---------------------------------------------------------------------------从服务器删除资源
5:json数据------------------------------------------------------------返回json数据

6:status--------------------------------------------------------------状态码

更多看这里:https://www.jianshu.com/p/e3a2f31b0d7d

7:aypermedia link-----------------------------------------------------返回链接

8:错误处理
错误处理,状态码是4xx时,应返回错误信息,error当做key。

            {
                error: "Invalid API key"
            }

为什么做前后端分离?
数据的解耦,提高开发效率。

安装:
pip3 install djangorestframework -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com

继承关系:

Django Rest Framework 的的请求生命周期:
hTTP请求 —> wsgi —> 中间件 —> 路由分发 —> 执行对应类的dispatch方法 —> 视图函数 —>返回
采用CBV的请求方式。

上一篇下一篇

猜你喜欢

热点阅读