假设我们正在制作发票API。什么是更合适的资源?
GET
或
GET
其他问题:如果您的API允许将发票标记为已付款的适当资源?
PUT
//where 3 is the id
或
PUT
答案 0 :(得分:0)
我会说:
GET /invoices
会返回所有发票; GET /invoices?state=paid
其中state
可以是paid
或{{1} }。要将发票标记为已付款,您可以将相应的状态设置为您的资源,然后您只需使用due
更新(实际替换)。
或者,您可以修补资源:PUT /invoices/<id>
。这种方法需要像PATCH /invoices/<id>
这样的差异。
这只是您要发送给API的问题(完整的资源,或者只是要应用的更改)。
非REST解决方案可能是对state=paid
执行PATCH
请求。这不是纯粹的REST,但没关系。