补丁API休息最佳命名选项



我想添加或通过API替换优惠券。我认为这两种可能性

patch/api/orders/{id}

{ "couponCode": "test"}

patch/api/orders/{id}/coupon/{poufoncode}

我喜欢第二个,因为应用优惠券代码在应用程序中很重要,并且该URL非常好。

休息后的第一和第二有效可能性吗?第二个选项对PUT和PATCH HTTP方法有效吗?您认为哪个更好?

谢谢

PATCH方法并非特别依赖。休息是关于转移状态的,而PATCH并没有真正这样做,而是向更新发送指令。

因此,要使事情休息一下,您想做的是PUT请求,以创建和替换优惠券的状态

随着这种情况,这不是反对使用PATCH的认可,但我对此的想法是:

  1. 提供适当的PUT请求以完全替换现有状态。
  2. 将其提供给PATCH的支持以优化可能很慢或笨拙的事物。

因此,如果您想在/api/orders/{id}上使用PATCH,我首先想知道:PUT版本看起来像?

我不完全了解/api/orders/{id}/coupon/{couponCode}上的PATCH是什么意思。您正在更新优惠券代码吗?这很奇怪,因为代码存在于URI中。DELETE A PUT对我来说更有意义。还是HTTP MOVE方法甚至可能有帮助?(MOVE也属于"不安息的营地,但对于GET DELETE `put)。

)。

如果订单只有1张优惠券,我更喜欢像/api/orders/{id}/coupon这样的URI结构,因为它是一个不错的单数资源,并且用PUT替换它是完全有意义的(或PATCH IT)。

最新更新