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
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



