0

假设我们正在制作发票 API。什么是更合适的资源?

GET

  • 支付发票
  • 到期发票
  • all_invoices

或者

GET

  • 发票/全部
  • 发票/到期
  • 发票/已付

附加问题:如果您的 API 允许将发票标记为已付款,那么合适的资源是什么?

PUT //where 3 is the id

  • 发票/3

或者

PUT

  • pay_invoice/3
4

1 回答 1

0

我会说:

  • GET /invoices退回所有发票;
  • 过滤器可以返回已付到期的发票:GET /invoices?state=paidwhere statecan bepaiddue

要将发票标记为已付款,您可以将相应的状态设置为您的资源,然后您只需使用PUT /invoices/<id>.

或者,您可以修补您的资源:PATCH /invoices/<id>. 这种方法需要一个差异state=paid,例如。

这只是您要发送到 API 的内容(完整的资源,或者只是要应用的更改)的问题。

非 REST 解决方案可能是PATCH/invoices/<id>/paid. 这不是纯 REST,但没关系。

于 2012-08-16T08:45:54.200 回答