【发布时间】:2017-10-16 21:40:30
【问题描述】:
我正在使用 HTTP 资源路径来执行后端操作,而不是提供资源。例如,将假期功能添加到旅游网站上的假期套餐中:
/holiday/Paris/feature/canal-trip
在此示例中,功能 canal-trip 将添加到我计划的 Paris 行程中。在此action 之后可能会重定向到主资源页面。
很明显,这不是严格意义上的 REST 资源 GET,但我想知道:
- 这在多大程度上违反了 REST?
- 这会导致什么缺点? (如果操作路径未被搜索引擎索引。)
- 有什么更好的方法可以让访问者代表资源执行操作?
对于这个问题,假设 CSRF 不是问题 - 操作是无害的。我发现的最相似的问题是:REST actions and URL API design considerations - 但是在我的情况下 我无意将其设为真正的 REST 端点。只想避免违规。
【问题讨论】:
-
归根结底是要在您想要将此端点作为基于休息 api 的端点提供给您的产品的消费者,还是为了简化您的物流实现而实现它之间进行权衡产品。
-
我们说后者——只是为了方便,绝对不会将真正的 REST 资源放在同一路径上。
标签: rest