rest-framework基础入门

一.相关概念的基本理解:html

  在学习这个框架以前先要搞清楚几个概念:json

  REST是一种设计风格(网络应用架构), 中文名称是表现层(表征)状态转转化,其中表现层指的是资源的表现层,api

  资源呈现出来的形式称做为表现层(好比文本能够是text格式表现,也能够是html格式,json格式,XML格式).跨域

  URI只表明资源的位置,具体表现形式, 应该在HTTP请求的头信息中用Accept和Content-Type字段指定.数组

  状态转化:互联网通讯协议http协议协议是无状态协议,意味着全部状态都保存在服务器,若是客户端要操做服务器,必须经过某种手段,让服务器端发生状态转化,这种转化缓存

是创建在表现层之上的,故称作为表现层状态转化。服务器

  在http协议里,get,post,put,delete分别对应四种基本操做(获取资源,新建资源,更新资源,删除资源)网络

二.Restful架构架构

  六个主要特色:app

  面向资源;(Rest架构设计以资源抽象核心展开)

   可寻址;(每一个资源在Web上都有本身的地址)

   连通性;(每一个资源非孤立的,能够经过超连接将资源关联起来)

   无状态;(Rest架构的约束,同下)

   统一接口;

   超文本驱动;(资源之间经过超连接相互关联,超连接既表明资源之间的关系,也表明可执行状态的迁移),又叫“将超媒体做为应用状态的引擎。

三.Restful架构的优势

  1.简单性;

  对于开发,测试,运维人员来讲都会很简单,能够充分利用Http服务端和客户端库,Web功能性测试工具,http缓存,http代理服务器,防火墙等。

   2.可伸缩性;

   充分利用好通讯链各个位置的缓存组件,能够带来更好的可伸缩性。

   3.弱耦合;

  容许服务器端和客户端在很大范围内,相对独立地进化

四.Restful API 设计规范

  1.协议

      API与用户通讯的协议,使用https协议。

  2.域名

   尽可能将API部署在专用域名之下(存在跨域的问题)

  3.版本

   应该将API的版本号放入URL

   4.路径

   定位资源的url中要用名词

  5.Http请求方法(method)

    get(从服务器取出资源,一项或多项)

   post(在服务器新建资源)

   put(在服务器更新资源(客户端提供改变后的完整资源))

   patch(在服务器更新资源(客户端提供改变的属性))

     delete(从服务器端删除资源)

     两个不经常使用:

      head(获取资源的元数据)

   options(获取信息,关于资源的哪些属性是客户端能够改变的)

  6.过滤信息

   在URL上传参的方式传递搜索条件

  7.状态码

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

  8.错误处理

   状态码是4xx时,返回错误信息,error看成key

  9.返回结果

   针对不一样的操做,服务端向用户端返回的结果应符合如下规范:

GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档

   10.Hypermedia API

   RESTful API最好作到Hypermedia,即返回结果中提供连接,连向其余API方法,使得用户不查文档,也知道下一步应该作什么。

{"link": {
  "rel":   "collection https://www.example.com/zoos",
  "href":  "https://api.example.com/zoos",
  "title": "List of zoos",
  "type":  "application/vnd.yourformat+json"
}}
相关文章
相关标签/搜索