我有一個服務(façade)需要一個「令牌」,然後解碼它以檢索某些信息(一個id),然後調用另一個外部服務來獲取一些附加信息。「最佳嘗試」的HTTP響應代碼
{"id":"foo","other-stuff":"bar"}
由於此服務依賴於外部服務,因此有時可能會失敗;不過,我們希望它仍然可以返回它設法檢索自己的信息。
{"id":"foo","warning":"bar service is down, oh no!"}
顯然,在第一種情況中200返回碼是合適的,但它仍然在適當的時候爲「部分」不成?作爲一個消費者,我認爲我寧願只是閱讀狀態代碼,然後向用戶顯示警告或任何其他信息;所以200在這裏對我不是很有幫助。
任何想法?
但是,如果我只是返回外部服務(即503),這將意味着的狀態代碼*我*服務也暫時不可用,這是不正確的;它仍然可以返回一些信息 – qui
你或許應該使用404 - 找不到範圍。 – MCF
當涉及到REST API開發時,您不能考慮下劃線服務是否未運行,並且只有您的服務正在運行是一個很好的條件。你可以給出一個自定義錯誤代碼,它應該是1000+範圍(例如:1025) – MCF