Restful规范

一 什么是restful

  • rest与技术无关,代表的是一种软件架构风格
  • rest从资源的角度审视整个 络,通过url获取的资源的表征,使应用转变状态
  • 所有得数据都是资源,是restful的本质,是一种面向资源的架构

 二  RESTful API设计

 

  • API与用户的通信协议,总是使用HTTPs协议。
  • 域名 
    • https://api.example.com                         尽量将API部署在专用域名(会存在跨域问题)
    • https://www.example.org/api/                        API很简单
  • 版本
    • URL,如:https://api.example.com/v1/         利用版本既可以保留原来的使用方法也可以开反新的版本
    • 请求头                                                  跨域时,引发发送多次请求
  • 路径,视 络上任何东西都是资源,均使用名词表示,利用请求的方法来识别(可复数)
    • https://api.example.com/v1/zoos
    • https://api.example.com/v1/animals
    • https://api.example.com/v1/employees
  • method
    • GET      :从服务器取出资源(一项或多项)
    • POST    :在服务器新建一个资源
    • PUT      :在服务器更新资源(客户端提供改变后的完整资源)
    • PATCH  :在服务器更新资源(客户端提供改变的属性)部分资源
    • DELETE :从服务器删除资源
  • 过滤,通过在url上传参的形式传递搜索条件
    • https://api.example.com/v1/zoosmit=10:指定返回记录的数量
    • https://api.example.com/v1/zoosfset=10:指定返回记录的开始位置
    • https://api.example.com/v1/zoosge=2&per_page=100:指定第几页,以及每页的记录数
    • https://api.example.com/v1/zoosrtby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序
    • https://api.example.com/v1/zoosimal_type_id=1:指定筛选条件
  • 状态码

     

     

  • 错误处理,应返回错误信息,error当做key。

    1

    2

    3

  • 返回结果,针对不同操作,服务器向用户返回的结果应该符合以下规范。

    1

    2

    3

    4

    5

    6

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

    1

    2

    3

    4

    5

    6

  摘自:http://www.ruanyifeng.com/blog/2014/05/restful_api.html

三 基于Django实现

 路由系统中:

视图函数中:

四 单利用django来传输数据方式

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月8日
下一篇 2018年9月8日

相关推荐