30、RESTful 服务设计与 HTTP 特性解析

RESTful 服务设计与 HTTP 特性解析

1. 资源导向原则

在处理事务、异步操作等时,若不确定某种方法是否合适,可将其视为资源。任何概念都能以资源的形式呈现,若某个概念给设计带来困扰,可将其作为一种新资源融入资源导向架构(ROA)。若因性能原因需违背统一接口,可使用重载的 POST 请求。大多数事物都能对统一接口做出响应。

2. URI 设计

2.1 URI 设计原则

  • 有意义且结构良好 :客户端应能构建所需资源的 URI,这可增加应用的“表面积”,使客户端能直接访问应用的任意状态,无需遍历大量中间资源。
  • 使用路径变量 :用路径变量分隔层次结构元素或有向图路径,例如 /weblogs/myweblog/entries/100 从通用到具体,依次表示博客列表、特定博客、该博客的文章列表以及特定文章。
  • 使用标点符号 :在同一层次结构中,若项目顺序重要,使用逗号分隔,如 /Earth/37.0,-95.2;若顺序不重要,使用分号分隔,如 /color-blends/red;blue。
  • 使用查询变量 :仅在暗示将参数插入算法,或前两种方法不适用时使用。若两个 URI 仅查询变量不同,则表示它们是同一底层算法的不同输入集。
  • 指定资源而非操作 :URI 应指定资源,而非资源上的操作。避免在 URI 中使用操作名称,否则可能陷入 RPC 风格。若要暴露操作,可通过统
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值