16、RESTful 服务资源命名与表示设计指南

RESTful 服务资源命名与表示设计指南

1. RESTful 服务基础

RESTful 网络服务通过资源来公开其数据和算法,通常存在一种从简单到复杂、分支众多的层次结构。例如,行星列表包含各个行星,行星包含地点和点,地点又包含地图;S3 存储桶列表包含各个存储桶,存储桶包含对象。

在设计时,需要将算法视为一组资源,从动作思维(如“在地图上搜索地点”)转变为结果思维(如“符合搜索条件的地图上的地点列表”)。若设计不符合 HTTP 的统一接口,可能需要重新审视这一步骤。

2. 资源命名

已确定了五种资源类型,接下来需要为它们命名。资源使用 URI 命名,以下是 URI 设计的三条基本规则:
1. 使用路径变量来编码层次结构,例如: /parent/child
2. 在路径变量中使用标点符号,避免在无层次关系的地方暗示层次结构,例如: /parent/child1;child2
3. 使用查询变量来表示算法的输入,例如: /search?q=jellyfish&start=20

3. 利用路径变量编码层次结构

为行星和行星上的地点创建 URI 时,关键的作用域信息是所关注的行星(如地球、金星、木卫三)。行星列表处于顶层,每个特定行星位于其下。以下是一些行星的 URI 示例:
- http://maps.example.com/Venus
- http://maps.example.com/Earth

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值