restful规范

什么是restful规范呢?
是一套规则,用程序之间进行数据交换的约定它规定了一些协议,对我们直接的感受是,以前写接口需要写四个,现在需要写一个就可以完成,restful规范的一个就可以完成,根据method的不同做不同的操作,比如:/get/delete/post/put/patch/除此之外restful规范还规定了,数据传输之间,建议 用 json 格式

它里面有10提案建议:

第一点:它建议使用 https 代替http:在https中使用的是秘文传输,而http使用的明文传输,不利于数据的保密,这样会导致数据的窃取.(https采用的是证书的认证和加密,下面会讲到)

例 : https://www.cnblogs.com/fu-yong/p/9052623.html

第二点:在url中体现 API: API的身份认证(可以使用:使用OAuth2.0框架)

	https://www.baidu.com/api/p/1255556/html  
	https://api.baidu.com/p/1255556/html   两种方式皆可

第三点:在url中体现版本:有利于开发是api接口的迭代.

        https://www.baidu.com/api/v1/p/1255556/html  #正确
	https://api.baidu.com/p/v2/1255556/html  #正确

第四点: 一般情况下对api接口用名词不用动词,:每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词(特殊情况可以使用动词),而且所用的名词往往与数据库的表格名对应。

第五点:如果有条件的话在url后进行添加条件:便于精确的筛选出所需要的资源

第六点:根据 method不同做出不同操作:

get请求 : 当时用get请求的时候,是查询资源,我们进行数据库的查询,并将数据以字符串的形式返回给前端

post请求: 当以post请求访问的时候,我们以进行添加操作,针对数据库

put请求:当请求是put的时候我们以更新的方式进行数据库的操作

delete请求时:我们直接对数据库进行"删除"数据操作

patch请求:对数据库进行跟新操作,但是只是更新某一条数据的某个值,或者字段

第七点:给用户返回状态码

-200 成功
-300:重定向: 301(永久)  302(临时)
-400 403 拒绝请求 , 404(找不到,该数据)
-500 服务器错误

第八点:返回值:给用户返回信息,及时用户的访问的路径不存在也需要返回404.的页面的数据

第九点:操作异常时,要返回,要返回错误信息:例如:404 页面的定制:也可以进行设置

第十点:对于下一个请求要返回一些接口:Hypermedia API,例如 上一页下一页,及其他连接网址

原文地址:https://www.cnblogs.com/wuzifan/p/11941755.html