2017-01-16 27 views
0

我有一個服務器端點驗證一些數據,如果數據驗證沒有錯誤,則返回true/false。POST或GET驗證REST中的某些數據端點?

那麼哪個版本是正確的或更適合RESTful web服務?在身體

POST https://server.de/validate 

POST數據並返回HTTP狀態代碼200,如果確認沒有錯誤或

GET https://server.de/validate?=data 

發送的報頭或查詢參數數據,並在響應(狀態代碼返回真/假200將在正確的請求後返回,獨立於數據驗證)。

+4

它不是理想的在休息術語的URI動詞驗證。這更像是程序導向..你必須從資源角度來識別這種情況,並將它轉換爲你必須驗證的資源的獲取和發佈...... – Jocket

+0

確實,我稱之爲「驗證」。 – Gobliins

+1

這兩個URI都沒有問題。這兩個URI都不作爲*資源*,您要傳送給它的文檔就是一個表示。相反,端點充當處理器,用於轉換髮送給它們的數據。你應該重新思考你的URI結構*完全*或停止調用你正在做的REST。 – sisyphus

回答

1

如果信息非常敏感,您應該始終使用POST。

閱讀This thread更多信息,還有很多類似的問題,與你的,如果你搜索:

編輯/更新: a good source for seeing the difference

+1

即使我們有https? – Gobliins

+0

是的,但這一切都取決於個案的情況,在我關聯的問題中有很好的例子,通過它們閱讀,您可以更好地瞭解應該實施的內容。就我個人而言,我更喜歡POST方法,它不太容易受到惡意用戶和「錯誤」的影響,例如,GET方法可以通過惡意用戶的鏈接作爲鏈接發送。@Gobliins – 2017-01-16 09:43:49