請告訴我應該在狀態碼是什麼下面的情況:什麼應該是「你不允許這樣做......」的Http狀態碼?
用戶已登記但沒有提供她的個人信息,我們需要讓她從我們這裏購買。然而,她仍然試圖購買。
我的想法:禁止 - 403.但403表示請求不應該重複。這是錯誤的,我希望她只有在她訪問她的個人信息路線並提供信息後才能重複確切請求。
請告訴我應該在狀態碼是什麼下面的情況:什麼應該是「你不允許這樣做......」的Http狀態碼?
用戶已登記但沒有提供她的個人信息,我們需要讓她從我們這裏購買。然而,她仍然試圖購買。
我的想法:禁止 - 403.但403表示請求不應該重複。這是錯誤的,我希望她只有在她訪問她的個人信息路線並提供信息後才能重複確切請求。
我會認爲這屬於412先決條件失敗狀態代碼。客戶沒有提供必要的信息以便提出成功的請求,因爲缺少一個條件。
從RFC 7232:
的412(前提條件失敗)狀態代碼表示在評估爲假的請求報頭字段給定的一個或多個條件 當在服務器上測試 。此響應代碼允許客戶端將 前提條件放置在當前資源狀態(其當前的 表示形式和元數據)上,從而防止在目標資源處於意外狀態時應用請求方法 。
這裏的問題是,實際的請求應該已經包含一個像'If-Unmodified-Since'或類似的頭部,可能會也可能不會失敗。如果失敗,則應返回先決條件失敗。 –
從OP的問題來看,這是否是這種情況還不清楚。 – Cheesebaron
[409衝突](https://tools.ietf.org/html/rfc7231#section-6.5.8)可能是一個有效的錯誤代碼(取決於資源的當前狀態) –
@RomanVottner耶。我喜歡這種情況......這種狀態怎麼會永遠不會跨越我的眼睛... – shayan