6
谷歌自己的REST API的一個錯誤的情況下返回詳細響應,e.g:返回自定義HTTP錯誤的原因
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidBookshelfId",
"message": "Invalid bookshelf ID."
}
],
"code": 400,
"message": "Invalid bookshelf ID."
}
}
在谷歌雲終點爲Python,有可能例如raise endpoints.BadRequestException('Error message')
,但除了錯誤消息之外,我想返回「代碼」或「原因」,如上例所示。有什麼辦法可以做到這一點?
可能有不同的錯誤情況與相同的HTTP狀態碼相關聯。如果API客戶想要在這些錯誤情況下采取不同的行爲,我們如何區分它們?當然,客戶可能會解析該消息,但感覺像是一種黑客。爲消息和錯誤代碼/原因分配字段會更好。 – Docent
問題是該消息需要在客戶端進行手動字符串解析,要麼迫使他在其端部創建異常,然後處理或在API級別解析字符串。 –