[英]How to handle a mismatch between the PUT body and URI in a REST update?
如果將PUT
請求發送到URI,例如http://foo.com/api/employees/123
,其中“ 123”是員工ID,但是消息正文如下所示:
{
"id" : 444,
"firstname" : "John",
"lastname" : "Doe"
}
服務應如何處理?
是期望將員工“ 123”更新為現在的員工“ 444”(有效地移動資源)還是應該返回HTTP錯誤響應(如果是,應該是什么?)
我認為應該使用URI中的ID,並且在郵件正文中不存在ID。 您在這里重復了提示。
您在PUT方法中提供的內容包含要更新的數據,而不是標識符。
這是我如何適應您的電話:
PUT http://foo.com/api/employees/123
(some headers like Content-Type: application/json)
{
"firstname" : "John",
"lastname" : "Doe"
}
也許此鏈接可以為您提供幫助: http : //templth.wordpress.com/2014/12/15/designing-a-web-api/ 。
希望能幫助到你。 蒂埃里
您可以根據要對放置資源進行的操作使用此ID。 通常,資源uri中的id用於從持久性數據庫中按id獲取項目。 您可以通過uri id獲取項目,然后可以將此id設置為body,但這很奇怪!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.