簡體   English   中英

What HTTP status code is more appropriate to return from a REST API PUT/PATCH method when a resource is in a state where it can't be updated?

[英]What HTTP status code is more appropriate to return from a REST API PUT/PATCH method when a resource is in a state where it can't be updated?

假設您在“最終確定的”state 中有一個資源,並且任何人都不允許對其進行更新(全部或部分),如果有人嘗試更新它,正確的 HTTP 狀態代碼將返回什么? 400、403、409 還是其他?

405 Method Not Allowed是一個有趣的可能性

405(Method Not Allowed)狀態碼表示請求行中接收到的方法是源服務器已知的,但目標資源不支持。 源服務器必須在包含目標資源當前支持的方法列表的 405 響應中生成 Allow header 字段。

“當前支持的方法”意味着資源的允許方法集可以隨着時間的推移而發展。 因此,我認為此代碼對於不支持 PUT/PATCH 的 state 中的資源是令人滿意的。

403 Forbidden也是一個令人滿意的選擇。

403(Forbidden)狀態碼表示服務器理解請求但拒絕授權。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM