什么是 RESTful 风格?
创始人
2024-05-26 07:01:52
0

一、什么是 REST ?

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Thomas Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

  • Representation(资源的表述):资源的表述指的是资源在某个特定时刻的状态的描述,即资源的具体表现形式,它可以有多种格式,例如 HTML、XML、JSON、纯文本、图片、视频、音频等等。
  • State Transfer(状态转移):资源状态转移,简单点说就是,客户端与服务端进行交互时,资源从一种表现形式转换到另一种表现形式的过程。但是 HTTP 协议是一种无状态协议,它是无法保存任何状态的,因此如果客户端想要获取服务器上的某个资源,就必须通过某种手段让资源在服务器端发生“状态转化”。

二、什么是 RESTful 风格?

1、传统方式

在传统的项目开发中,我们通常都会将操作资源的动词写进 URL 中,而这些动词通常都是我们自行定义的,并没有一个统一的规范。哪怕是对同一资源的相同操作,不同的人所定义的 URL 也是各不相同的。比如获取用户信息:

  • http://localhost:8080/getUserById?id=1
  • http://localhost:8080/user/getById?id=1
  • http://localhost:8080/findUserById?id=1

2、RESTful 风格

(1)什么是RESTful ?

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

(2)如何设计 RESTful API ?

API(应用程序编程接口)是一组规则,用于定义应用程序或设备如何相互连接和通信。 REST API 是符合 REST(表述性状态转移)架构样式设计原则的 API。 因此,REST API 有时被称为 RESTful API。

RESTful提倡我们使用统一的风格来设计 URL,其规则如下:

1. URL(对应资源

  • URL 只用来标识和定位资源,不得包含任何与操作相关的动词,只包含名词即可,而且所用的名词往往与数据库的表名对应。
    示例:http://localhost:8080/biancheng/user

  • 当请求中需要携带参数时,RESTFul 允许我们将参数通过斜杠(/)拼接到 URL 中,将其作为 URL 的一部分发送到服务器中,而不再像以前一样使用问号(?)拼接键值对的方式来携带参数。
    示例:http://localhost:8080/biancheng/user/1

2. HTTP Method(对应状态转移

  • HTTP 协议中有四个表示操作方式的动词:GET、POST、PUT 和 DELETE,它们分别对应了四种与资源相关的基本操作: GET 用来获取资源, POST 用来新建资源, PUT 用来更新资源, DELETE 用来删除资源。客户端通过这四个动词,即可实现对服务器端资源状态转移的描述。
    示例:GET、POST、PUT 和 DELETE

RESTful 将对资源的操作都定义在HTTP Method 中,使得URL地址看起来更简洁。

3、传统方式 vs RESTful 风格

资源操作传统方式RESTful 风格
传统方式 URLHTTP 请求方式RESTful URLHTTP 请求方式
获取资源(Read)http://localhost:8080/biancheng/getUserById?id=1GEThttp://localhost:8080/biancheng/user/1GET
保存或新增资源(Create)http://localhost:8080/biancheng/saveUserPOSThttp://localhost:8080/biancheng/userPOST
修改或更新资源(Update)http://localhost:8080/biancheng/updateUserPOSThttp://localhost:8080/biancheng/userPUT
删除资源(Delete)http://localhost:8080/biancheng/deleteUser?id=1GEThttp://localhost:8080/biancheng/user/1DELETE

附录

参考:RESTful(REST风格)是什么
RESTful(REST风格)是什么

参考来源

  • RESTful(REST风格)是什么
  • RESTful_百度百科
  • 什么是 REST API? - 中国 | IBM

相关内容

热门资讯

还记得感动全网的初中生作文里的... 转自:九派新闻 #句句不提思念却句句是思念# 【还记得感...
瑞士学者:美国“对等关税”有害...   “对等关税”与国际公认贸易规则相悖,将导致“双输”结局  “对等关税”给美国经济自身造成的损害或...
新华全媒+|北京何以连续多年成...   2025中关村论坛年会上,一组数据吸引社会目光:当前中国共有独角兽企业409家,占全球独角兽企业...
北极海冰范围冬季峰值47年来最... 转自:中国环境网2025年3月6日,一艘在格陵兰岛努克市外的冰冻海湾中航行的船。图片来源:物理学家组...
【央视快评】让祖国大地更加绿意... “各地区各部门要进一步行动起来,动员组织广大干部群众积极参与造林绿化,践行绿色发展理念,弘扬生态文化...
官方通报:沈阳一综合楼发生火灾... 转自:沈阳消防据沈阳消防消息,2025年4月2日17时许,沈阳市铁西区建设东路29号一综合楼发生火灾...
清明寄情 童心传承 转自:廊坊日报 图为广阳区第四幼儿园学生把亲手制作的白色小花敬献革命先烈。 本报记者 赵...
尉迟琳嘉现在主持哪些节目? 尉迟琳嘉现在主持哪些节目?笑逐言开,四大名助。
第1视点|植树造林 为美丽中国... 4月3日上午,中共中央总书记、国家主席、中央军委主席习近平在参加首都义务植树活动时强调,植树造林是生...
未发布产品遭第三方提前曝光,v... 4月4日,@vivo法务部 发文称,2025年3月19日,公司某尚未发布的手机产品信息遭第三方提前曝...
中欧聚瑞债券财报解读:份额降5... 2025年3月29日,中欧基金管理有限公司发布中欧聚瑞债券型证券投资基金2024年年度报告。报告显示...
《小舍得》首播获好评,这部剧为... 《小舍得》首播获好评,这部剧为何能如此抓人眼球?比较真实,有些问题也存在现实生活中,很容易引起共鸣。
形容自夸的成语 形容自夸的成语 不矜不伐 矜、伐:自夸自大。不自经为了不起,不为自己吹嘘。形容谦逊。 ...
长城均衡成长混合财报解读:份额... 2025年3月29日,长城基金管理有限公司发布长城均衡成长混合型证券投资基金2024年年度报告。报告...
4200余名青少年以歌寄情颂英... 转自:廊坊日报 图为广阳区“英雄有知 热土有情”青少年歌咏大会现场,少年们用歌声与舞蹈表达对英...
形容斑马的量词是什么? 形容斑马的量词是什么?形容斑马的量词是“匹”;一匹斑马。
什么神途好玩? 什么神途好玩?我觉得最好玩的还是灵魂神途,复古到位,半年一个区爆率控制的非常好。最重要的是不花钱和花...
一个橙汁广告里的音乐。 一个橙汁广告里的音乐。哪个橙汁广告?
吓死人犯法不? 吓死人犯法不?吓死人犯法不?故意吓人的楼上的各位回答得都过于片面。应分情况来看:1、如果主观上面就是...
请问常见的蛋白质有哪些? 请问常见的蛋白质有哪些?常见蛋白质有蛋白质粉,大豆豆粉最常见的是:牛奶及干酪等奶制品,肉类等肉制品,...