我們使用JSON-API標準來開發我們的API,並且我們遇到了一個問題,它沒有明顯的解決方案遵循標準。JSON API:沒有資源的成功消息
用例是:
有一個API端點,使您可以訂閱郵件列表。 一個可能的流程是用戶添加爲PENDING,其中 表示用戶將收到並選擇加入電子郵件以進行確認。
如果是這種情況,我們想要給前端 回覆一條消息,可以顯示給用戶,並敦促他點擊鏈接。
從我的觀點來看,這不是一個真正的錯誤狀態,更多的是後續元信息。所以這意味着把它放在錯誤信息中在概念上是不合邏輯的。另外,如果我們確實將它放在錯誤消息中,前端必須以某種方式將其與「真實錯誤」區分開來(狀態碼具有如此低的分辨率以致碰撞似乎不可避免)。
但是,我們不返回資源,因此我們無法將其作爲元信息添加到資源中。所以現在我不知道該把這些信息放在哪裏。
一個可能的解決方案是定義某種「響應」資源並將其放在那裏,但看起來像是一堆蠕蟲。
任何想法?輸入將被極大地重視
我剛剛看到,按規格你可以返回一個沒有資源但帶有頂級_meta類別的Response對象。這是你鼓勵成功的信息還是你有不同的選擇? – shokora
對於沒有後續電子郵件的請求,我會返回200/204(如果您需要身體請輸入200,如果不需要,則輸入204)。對於需要後續電子郵件的請求,我會返回202包含任何相關信息的主體,例如您要提供的信息。我不認爲鼓勵的信息是元信息,不。 –
我不完全確定你最後一句話的意思。你說你會返回一個包含鼓勵消息的身體,但不是在meta領域?你會把它放在哪裏?或者你是不是在考慮json-api規範? – shokora