欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-25 16:54:22
...

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