コンテンツにスキップ

エラーハンドリング

本ドキュメントはマイクロサービスのエラーハンドリングポリシーについてまとめています。

新規でプロダクトを作成する際は本ポリシーに従って開発してください。

エラーレスポンス

例外発生時は、エラーコード(整数)とエラーメッセージ(文字列)をレスポンスボディに含めてください。

トレーサビリティの向上と統合 UI でアラート表示する際に必要になります。
エラーメッセージはそのままユーザに表示されるので、日本語で記述してください。

1
2
3
4
{
  "code": XXX, // エラーコード(整数)
  "message": "XXX", // エラーメッセージ(文字列)
}

よく使うステータスコード

使うであろうステータスコードを下記にまとめています。

必要があれば、他のものを採用していただいても OK です。ただし、全ステータスコードを 400 に統一するのは避けましょう。

ステータスコード 概要
400 Bad Request 不正なリクエストボディが指定された場合
401 Unauthorized 未認証の場合
403 Forbidden 認証済みだが、権限がない場合
404 Not Found リソースが存在しない場合
409 Conflict リソースが既に存在する場合
500 Internal Server Error 予期せぬエラーが発生した場合

エラーコード

採番規約

5 桁目はプロダクトごとに割り当てられます。

ステータスコード エラーコード領域
400 Bad Request X0000~X0999
401 Unauthorized X1000~X1999
403 Forbidden X2000~X2999
404 Not Found X3000~X3999
409 Conflict X4000~X4999
500 Internal Server Error X5000~X5999

プロダクトごとのエラーコード領域

プロダクト エラーコード領域
api-gateway 10000~19999
IAM 20000~29999
paymaster(会計システム) 30000~39999
reminder 40000~49999