理解 RESTful API

24 篇文章 0 订阅

理解 RESTful API


REST(REpresentational State Transfer),即“表现层状态转移”,最早出现在 Roy Thomas Fielding (参与设计了 HTTP 协议、Apache 服务器)的博士论文中(2000年)。

论文地址:Architectural Styles and
the Design of Network-based Software Architectures

RESTful 是一种 API 的设计风格,其相比 SOAP 和 XML-RPC 更为简洁易用,现已经得到大范围应用。


1. REST and RESTful API

REST 描述的是在网络中 client 和 server 的一种交互形式,但 REST 本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)。


2. RESTful API 的设计

2.1 资源 URI 的设计规则

URI 中只使用名词(一般是复数形式)来指定资源,原则上禁止使用动词。API 应部署到专有域名下,可以考虑加入 API 的版本

API 应支持对于 {id} 单个资源的操作。

https://api.test.com/v1/books 		# 一组资源
https://api.test.com/v1/books/137	# 单个资源 

# 错误的例子
https://api.test.com/v1/getBooks	# API 中出现了动词

2.2 使用 HTTP 的请求方法表示 CRUD 操作

  • GET:获取资源
  • PUT:更新资源
  • POST:新建资源
  • DELETE:删除资源

值得注意的是,RESTful 并没有“正式”的标准,所以不同 Web 应用中,HTTP 动词代表的语义可能有所差异,但大致都是相似的。

2.3 表现形式 and 状态码

Server 和 Client 之间使用某种表现形式来传递资源,通常是 json,也可以是其他形式。

通过 HTTP 的状态码,可以直观反映结果。

2.4 前后端分离

Web 端不必使用 PHP、JSP、ASP 架构,改为前端渲染、前端路由(Angular、React、Vue)。Web 端和 Server 只使用 RESTful API 来传递数据和改变数据状态


3. 总结

  • 从 URI 可直观清楚要操作的对象
  • 从 HTTP 方法可直观理解要做的操作
  • 从状态码可直观了解运行结果

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值