REST:如果该过程是DB UPDATE命令,那么您的API调用应该是PUT吗?

时间:2015-09-15 19:32:41

标签: rest api-design

考虑以下发票表,其中包含两个条目,即ID 1和2:

id, item, date_paid
1, 'apple', ''
2, 'banana', ''

付款时,date_paid列需要更新。

对此有什么正确的REST动词?

POST invoices/1/payments 要么 PUT invoices/1/payments

我觉得POST是正确的,因为我是"添加"一个付款细节,但在内部再次,我实际上"更新"一个数据库行,所以PUT似乎也适用。

1 个答案:

答案 0 :(得分:2)

如果我理解您的示例,则您在过去的某个时间点处的发票表中创建了发票。您现在正在更新所述发票以反映已付款。这肯定是一个更新,PUT是正确的动词。据推测,您可能还有一个付款表,其中包含实际的付款细节(金额,付款人等)。如果是这样,那么您将添加新的付款记录。该电话将是一个POST。

相关问题