如何理解restful接口?restful接口设计规范是怎样的?
发布于 作者:苏南大叔 来源:程序如此灵动~
restful
接口是个规范,并非是某个代码某个模块,各种编程语言都可以实现restful
接口。本文也就是描述一下restful
接口的规范,做个相关内容的补充。实际上目前最新的接口规范,也不是restful
,而是graphql
。
大家好,这里是苏南大叔的网络自留地,想写点啥就写点啥。本文写个restful
接口规范,仅仅是阐述个定义,没有测试环境。
基本定义
Rest
的全称是Representational State Transfer
,2000年由Roy Fielding发表在他的博士论文中,首次提出了Restful
的概念。Restful
做为一种接口的设计规则,基于HTTP
协议,可以使用XML
格式或JSON
格式传输数据。对于使用restful
这套规则定义开发的接口,称之为Restful API
。
一句话概括:使用相同的URL
定位资源,使用HTTP
请求(GET
、POST
、PUT
、DELETE
等)对资源进行操作。也就是说,不同的操作目的,最主要是使用请求的方法(method
)来进行区分的。
传统的接口设计
在大家通常意义上的接口规范中,
- 对资源的
crud
操作动词都体现在url
接口地址上。 http
的方法基本上只有get
和post
两种。- 一般使用
session
进行鉴权操作。
目的 | 方法 | URL |
---|---|---|
新增文章 | post | /article/create |
获得文章 | get | /article/read/id |
修改文章 | post | /article/modify |
删除文章 | get | /article/delete/id |
restful接口规范
苏南大叔不想抄书,这里使用自己的理解来描述restful
接口规范。
- 对资源的
crud
操作动词都体现在接口请求的方式上,而地址上可能一致或近似。 http
的方法基本上,除了get
和post
,还有put
/patch
/delete
。- 一般使用在头信息,使用
token
进行鉴权操作。
目的 | 方法 | URL |
---|---|---|
新增文章 | post | /article |
获得文章 | get | /article/id |
修改文章 | patch | /article/id |
删除文章 | delete | /article/id |
相关文章
- https://newsn.net/say/postman.html
- https://newsn.net/say/restclient-wisdom.html
- https://newsn.net/say/restclient-vscode.html
- https://newsn.net/say/restclient-wiztools.html
总结
restful
就是个接口规范,遵守也行,不遵守也行。就像robots.txt
一样,大家最好都遵守规则。但是你不遵守的话,也不会有啥问题。另外,写给自己的是:主要restful
的签权方式,并不推荐使用传统的cookie
和session
,而是在头信息里面传递的token
信息。


