restful 的简单介绍以及restful API 的设计风格

   1、如何理解restful架构

restful架构是目前最流行的一种互联网软件架构,很多网站都进行采用。
    英文:Representational State Transfer:状态转移,它是一种软件架构风格、设计风格,而不是 标准,它只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。如果一个架构符合REST原则,就称它为restful架构。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。用户端用到的手段是http协议,具体来说就是http协议里面四个表示操作方式的动词:GET,POST,PUT,DELETE。它们分别对应四种操作:GET用来获取资源,POST用来新建资源(也可以用于更新),PUT用来更新资源,DELETE用来新建资源

总结:每个URI代表一种资源,客户端和服务器之间,传递这种资源的某种表现层,客户端通过四个HTTP动词,对服务器端资源进行操作,实现表现层的转化

2、restful API

restful API:是指符合restful架构的API。对象存储的本地应用程序接口是一个RESTful API。RESTful本质上是HTTP输入和输出,或者是互联网语言。这个语言对于Web浏览器是本地化的,但是对于大多数IT应用并非如此。这也为这个问题提供了一个答案,对RESTful API是一种检验,检测其变化、标准、事实标准以及在本地使用有哪些必须要做的事情,以及有哪些现成的软件可以实现。最佳的方式就是通过RESTful API使用对象存储系统。它是一个本地接口,具备最低延迟和最快的响应时间,能够同大多数的控制。

3、restful API的设计风格

协议:API与用户的通信协议,总是使用https协议。

域名:应该尽量将API部署在专用域名下;如果确定API很简单,不会有进一步的扩展可以考虑放在主域名下

版本:应该放在API的URL中;一般将版本号放到HTTP请求头中

路径:它表示API的具体网址,每个网址代表一种资源,所以网址中不能存在动词,只能有名词,而且所用的名词往往与数据库中的表名对应。

正确使用HTTP请求方式:HTTP请求方法(SQL命令):GET(select):从服务端取出资源(一项或者多项)

,POST(create):在服务器新建资源,PUT(update):在服务器更新资源,客户端提供改变后的完整资源,PACTH(update):在服务器更新资源,客户端提供改变的属性,DELETE(delete):在服务端删除资源,HEAD:获取资源的元数据,OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

过滤信息:如果资源较多时,服务器不能将所有的数据一次全部给客户端。API提供参数,过滤返回结果

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

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

注意:服务器返回的数据格式,尽量使用JSON,避免使用XML

4、restful API之序列化
          可以实现前后端分离:前台和后台的开发分离开发,就需要借助API。API就是开发人员提供的编程接口以供他人调用。

    什么是序列化?

    把模型对象转换为JSON格式然后响应出去,这样便于客户端调用时解析。

5、restful API之请求与响应

 @api_view:是装饰器,用在基于函数的视图上

6、restful API之基于类的视图

APIView:是类,用在基于类的视图上

使用Mixins类:

from rest_framework import mixins

from rest_framework import generics


7、restful API之ViewSets和Routers







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值