6
Googleの独自のREST APIは例えば、エラーの場合に詳細な応答を返す:Python用Googleクラウドエンドポイントで返すカスタムHTTPエラーの理由
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidBookshelfId",
"message": "Invalid bookshelf ID."
}
],
"code": 400,
"message": "Invalid bookshelf ID."
}
}
、それは例えばすることが可能ですraise endpoints.BadRequestException('Error message')
ですが、エラーメッセージに加えて、私は上記の例のように "コード"または "理由"を返したいと思います。これを達成する方法はありますか?
同じHTTPステータスコードに関連付けられたエラー条件が異なる可能性があります。 APIクライアントがこれらのエラー状態に応じて異なる行動をしたい場合、どのように区別することができますか?確かにクライアントはメッセージを解析するかもしれませんが、ハックのように感じます。メッセージとエラーコード/理由のために別々のフィールドを持つ方がよいでしょう。 – Docent
問題は、メッセージがクライアントの側で手作業で文字列を解析する必要があるということです。クライアント側で例外を作成して処理したり、APIレベルで文字列を解析したりする必要があります。 –