码迷,mamicode.com
首页 > 其他好文 > 详细

rest-framework基础入门

时间:2018-02-10 19:29:41      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:log   提示信息   网络   dia   pat   lis   请求   com   collect   

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

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

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

  资源呈现出来的形式称作为表现层(比如文本可以是text格式表现,也可以是html格式,json格式,XML格式).

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

  状态转化:互联网通信协议http协议协议是无状态协议,意味着所有状态都保存在服务器,如果客户端要操作服务器,必须通过某种手段,让服务器端发生状态转化,这种转化是

建立在表现层之上的,故称做为表现层状态转化。

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

二.Restful架构

  六个主要特点:

  面向资源;(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"
}}

 

 

 

 

 

      

 

rest-framework基础入门

标签:log   提示信息   网络   dia   pat   lis   请求   com   collect   

原文地址:https://www.cnblogs.com/sxh-myblogs/p/8439386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!