29、RESTful 资源设计与操作实践

RESTful 资源设计与操作实践

1. 资源连接性的重要性

在资源交互中,客户端理论上可以根据规则生成 URI,但这些规则往往涉及复杂的地理知识,如经纬度的计算、地图缩放比例以及地球的大小和形状等。相比之下,通过跟随链接来导航地图要比计算图块坐标容易得多。这表明,当资源之间的关系变得过于复杂,无法用简单规则表达时,资源之间的连接性就显得尤为重要。

1.1 Google Maps 的启发

Google Maps 的基于图块的导航系统采用任意的 X 和 Y 坐标来定位图块,而不是经纬度。这样,找到北方的图块通常只需将 Y 值减 1,图块之间的关系变得简单。这提示我们,如果经纬度计算导致必须随每个地图表示发送导航链接,或许应该重新考虑策略,提供更简单的 URI,方便客户端生成。

1.2 连接性应对关系变化

连接性的另一个重要价值在于,它使客户端能够处理随时间变化的资源关系。链接不仅隐藏了为给定资源构建 URI 的规则,还体现了资源之间的关联规则。例如,当地图数据更新,比例尺发生变化时,使用经纬度生成 URI 的客户端可能会出现问题,而跟随导航链接的客户端则能自动适应新的地图比例尺。

因此,期望客户端使用规则构建初始 URI 是可行的,但当需要从一个 URI 导航到另一个 URI 时,应该提供适当的链接。随着可编程网络的发展,连接性将变得越来越重要。

2. 资源设计

服务所暴露的每个“事物”都需要一个资源。资源的概念很宽泛,任何想要暴露的数据或算法都可以成为资源。主要有以下三种类型的资源:
| 资源类型 | 描述 | 示例 |
| ---- | ----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值