RESTFUL API 到底是什么

本文通过类比文件分类管理的方式,解释了RESTful设计在HTTP请求中的应用原理。阐述了如何利用HTTP方法(GET、POST、PUT、DELETE)来实现CRUD操作,并强调URL作为资源定位的重要性。

大家应该都听过 一句话 : 约定大于配置。

rest 其实就是 一种约定。让沟通 更加明了。 而rest 是再http访问中 比较好的传播开了,其实rest是一种理论,一种约定。

rest是如何重新定义了http url 的,网上有好多详细帖子进行讲解。我想表达的是 rest 为什么这么容易让大家接口,让大家都认可这个约定的。

那我还是用例子来说吧:

电脑目录: 根目录 home/mine

作为一个经常用电脑的人,你会有很多文件,开始为了省事。你将所有的文件都放在了mine的目录下,刚开始文件特别少。你每次去找文件,把文件夹打开之后,很快就能到,

但是随着文件的增多,你发现你要找到想要的文件特别麻烦。那么怎么办呢,如果让自己快速的找到自己的文件。

为了方便自己快速查找文件: 所以你想到了将文件进行分类。

所以你又建在mine下面又新建了几个目录

home/mine/tools/

home/mine/documents/

home/mine/meeting/

home/mine/usual/

这样就很明确了,每次想找文件,那么就找到相应的分类下的文件夹,进行查找,就能很快的找到自己文件。

这其实就是对应 在 http 请求中的请求分类 :括HTTP GET、POST、PUT、DELETE, 相对应 查 ,增 ,改, 删。 url 是什么意思(Uniform Resource Locator  统一资源定位符),其实是一个资源的访问路径,通过修改后,一个url 你就能知道,这个url是去定位什么东西,很明确。所以也有很多人说httpurl 里不应该有动词,全应该是名词。

总结就是: 在http 请求中, 你的请求方式 和 写的 url 地址,就已经很明确的表达了,你要去做什么。












### Restful API 的定义 Restful API 是一种基于 Representational State Transfer (REST) 原则的应用程序编程接口。它通过一组原则和指南设计 Web 服务,提供标准化的数据交互方式,通常以 JSON 或 XML 格式传递数据[^2]。 RESTful API 遵循客户端-服务器架构模式,运行于 HTTP 协议之上。其核心理念在于资源的统一表示形式、无状态的操作机制以及清晰的功能划分。这种设计使得 RESTful API 成为了现代 Web 开发中的主流技术之一,因其简单易用且兼容性强而受到开发者青睐[^3]。 --- ### Restful API 的工作原理 #### 资源定位 RESTful API 将每一个可操作的对象视为一个 **资源**,并通过 URI(Uniform Resource Identifier)唯一标识这些资源。例如,在社交媒体平台中,`/users/{id}` 可用于获取特定用户的详细信息。 #### 请求方法 RESTful API 利用了标准的 HTTP 方法来执行不同的操作: - `GET`: 获取指定资源的信息。 - `POST`: 创建新的资源实例。 - `PUT/PATCH`: 更新现有资源的内容。 - `DELETE`: 删除某个资源[^3]。 每种方法对应着具体的业务逻辑处理流程,从而实现了功能上的分离与规范化管理。 #### 数据交换格式 在实际应用过程中,RESTful API 大量采用轻量化结构化数据格式——主要是 JSON 和 XML 来完成前后端之间高效稳定的消息传输过程[^2]。其中 JSON 因为其简洁性和易于解析的特点成为首选方案。 以下是使用 Rust 中 warp 框架创建的一个简单的 RESTful API 示例代码片段展示如何响应 GET 请求并返回 JSON 数据: ```rust use warp::Filter; #[tokio::main] async fn main() { let hello = warp::path!("hello" / String) .map(|name| format!(r#"{{ "message": "Hello {}" }}"#, name)); warp::serve(hello).run(([127, 0, 0, 1], 3030)).await; } ``` 此段代码展示了如何设置路由 `/hello/:name` 并当收到匹配路径时生成包含问候语句作为 body 的 http response 给调用者[^4]。 --- ### 总结 综上所述,Restful API 不仅限定了服务间通讯的标准还促进了软件系统的模块化发展;凭借其强大的适应能力满足了当今互联网环境下日益增长的服务需求^.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值