考虑以下发票表,其中包含两个条目,即ID 1和2:
id, item, date_paid
1, 'apple', ''
2, 'banana', ''
付款时,date_paid列需要更新。
对此有什么正确的REST动词?
POST invoices/1/payments
要么
PUT invoices/1/payments
我觉得POST是正确的,因为我是"添加"一个付款细节,但在内部再次,我实际上"更新"一个数据库行,所以PUT似乎也适用。
答案 0 :(得分:2)
如果我理解您的示例,则您在过去的某个时间点处的发票表中创建了发票。您现在正在更新所述发票以反映已付款。这肯定是一个更新,PUT是正确的动词。据推测,您可能还有一个付款表,其中包含实际的付款细节(金额,付款人等)。如果是这样,那么您将添加新的付款记录。该电话将是一个POST。