はじめましてこんにちは。
夏が本気を出してきて最近麺類しか口にしていないサーバサイドエンジニアのかしまです。
この度APIにてHTTP Status Codeとは別に、例外に対応するエラーコードを返すよう奮闘したのでその知見を共有したいと思います。
やりたいこと
APIにて例外が発生した場合、以下の形式でレスポンスを返すようにします。
{ "errors": [ { "code": "code1", "message": "message1", }, { "code": "code2", "message": "message2", }, ] }
Why?
今回追加したAPIは外部のアプリケーションとの連携に使うため、以下の要件を満たす必要がありました。
- クライアントサイドがハンドリングしやすいような設計にする
- エラーの識別子は不変であること
そのためエラーメッセージとは別に、コードを返すことにしました。
次の章から実際にどのように実装したかを紹介したいと思います。
続きを読む