Restful 架构:
REST(表征状态转移 Representational State Transfer)是一种软件架构,针对网络应用的设计与开发方式,通过规范网络资源接口,将前后端(网络两端)的应用进行解耦,使得应用程序可以跨网络,跨语言通信。前后端 通过特定的 URL ,以 特定的请求方式访问所需的资源。
四大特点
资源,URI :
资源就是网络中的具体信息,比如说 文本,图片,歌曲等,每一种具体资源都可以用一个 URI (URI 不同于 URL,具体参见参考资料)指向它,想要获取这些资源,直接访问它的URI 即可。
表现方式:
常用的方式有:txt、html、xml、json格式。
状态:
状态定义了做资源的操作方式,这些操作方式全部定义在http协议里面,不在api上表现,具体操作如下:
GET (SELECT):从服务器上获取资源(一项或多项)
POST (CREATE):在服务器上新建一个资源
PUT (UPDATE):在服务器上更新资源(客户端提供完整的资源数据)
PATCH (UPDATE):在服务器上更新资源(客户端提供需要修改的资源数据(部分))
DELETE (DELETE):从服务器删除资源
认证机制
对访问的客户端进行验证,用来判断该用户的访问权限。常用的认证机制包括 session auth, basic auth, token auth 和 OAuth。
Django REST framework
Django REST framework 是一个基于 Django实现的restful 框架,用于构建 Web API,有如下优点:
提供在线可视的 API
验证策略涵盖了 OAuth1 和 OAuth2
同时支持ORM和非ORM数据源的序列化
支持基于类的视图
参考资料: