我有一個圖的領域模型。當用戶嘗試修改它時,會執行循環檢查並返回相應的http響應代碼。我應該爲純驗證API方法返回什麼Http響應代碼?
但是,我們希望在客戶端上構建一個建議的更改,並檢查它是否對圖的當前狀態有效。
代碼很簡單。只是讓用戶POST
的graphChangesToValidate
一些驗證方法和我的後端服務,它已經這樣做了工作,可以確認它是否將是確定進行更改...
我的問題是什麼HTTP狀態代碼(s)我應該在這種情況下返回?
200
意味着建議的更改通過驗證。對於失敗,我不知道400
是否合適,因爲請求格式正常,服務器只是說「我瞭解您的請求,答案是否定的。」
我在想,只要驗證方法完成,我應該返回一個200
與內容中的true
或false
布爾值。
有沒有更標準的方法來處理這個問題?
實現此目的的一種很酷的方式是發送更改的POST,然後服務器可以返回HTTP 100(繼續),如果驗證正常,則客戶端可以發送最終的提交消息。這將避免不同的呼叫來進行更改。如果圖表更改無效,服務器可能會返回409,如@sanpaco – Edgar
@Edgar所述,這是一個有趣的想法,但'HTTP 100'的想法似乎不可靠? – Matthew
我想這取決於如果你考慮這兩個階段的方法單個無狀態事務或兩個單獨的有狀態事務。看起來像我的語義。在我看來,RESTful API的價值來自無狀態,我認爲HTTP 100只是一個稍微複雜一點的請求 - 就像任何分塊表單上傳一樣。 – Edgar