APIを利用したり、開発したりする時に、そのレスポンスで返されたエラーメッセージを提供したり、理解したりすることが非常に重要です。それは、開発者がエラーの原因を特定したり、予期しない問題を処理したりすることに役立ちます。本文では、APIのエラーメッセージを詳しく解説した上、エラーメッセージを設定できる簡単な方法をも一緒に紹介します。
Apidogは非常に使いやすいAPI管理ツールとして、それを使って簡単にAPIを設計できます。APIの設計中に、異なる場面で違うエラーが発生する場合、エラーメッセージのケースを複数追加することもできるので、エラーメッセージを定義するのに非常に便利です。
それでは、下記のボタンからApidogを完全無料で利用し始めましょう。👇👇👇
APIのエラーメッセージとは
APIのエラーメッセージとは、APIを利用しているときに発生するエラーの内容を示すメッセージのことです。APIを利用するとき、想定外のエラーが発生することがあります。その場合、エラーの内容を開発者に通知するために、API側がエラーメッセージを返します。
エラーメッセージには、発生したエラーの種類や原因、対処方法などが書かれています。例えば「404 Not Found」はリソースが見つからないことを、「500 Internal Server Error」はサーバ側の問題が発生したことをそれぞれ表しています。開発者は返ってきたエラーメッセージから、問題の原因を特定しデバッグを行うことができます。適切なエラーメッセージはAPIの利用を円滑にする上で重要な情報を提供してくれます。
エラーメッセージとエラーコードの違い
エラーメッセージとエラーコードの主な違いは以下の通りです。
- エラーコードはエラーの種類を特定するためのコード番号で、例えば404や500などの数字が使われる。
- エラーメッセージはエラーの内容を文字で表現したもので、「Not Found」や「Internal Server Error」など文字列が使われる。
- エラーコードはプログラムでの処理に使いやすいが、人間には意味が判断しにくい。
- エラーメッセージは人間が読みやすい表現だが、プログラムで処理するには不向き。
- 良く設計されたAPIは、エラーコードとエラーメッセージの両方を返すのが一般的。
- エラーコードで種類を判断し、エラーメッセージで詳細な原因を参照する、といった使い分けができる。
要点として、エラーコードは機械が処理しやすい形式で、エラーメッセージは人間が理解しやすい形式という違いがあります。両方を組み合わせることで、APIのエラー処理をしやすくできます。
APIエラーメッセージのフォーマット
APIのエラーメッセージのフォーマットには主に以下の3つがあります。
プレーンテキスト
例: "Not Found"
エラーを直接でテキストで説明します。プレーンテキストは、シンプルなテキストメッセージとして、人が読みやすいが構造化されていないフォーマットです。
JSON
例: {"error": "Not Found", "code": 404}
JSON形式でエラーコードとメッセージを構造化します。JSONは、プログラムにとって解析しやすいフォーマットです。そして、エラーコードを含めると、完全なエラーメッセージは次のようになります:
{
"error": {
"code": 400,
"message": "Invalid request parameters"
}
}
XML
例: <error>
<code>404</code>
<message>Not Found</message>
</error>
XML形式で構造化されています。JSONより冗長だが、古くから利用されていますが、最近、プログラムと人間双方にとって読みやすいので、JSON形式は最近のWeb APIで最もよく利用されるようになるようです。
<error>
<code>400</code>
<message>Invalid request parameters</message>
</error>
ガイド:APIエラーメッセージの処理
それでは、APIのエラーメッセージについて、どうやって処理すれば良いのでしょうか。次は、APIエラーメッセージの利用ガイドを皆さんに紹介します。
標準のHTTPスターテスコードとメッセージを利用する
APIからのレスポンスを理解するため、開発者はまず返されるHTTPスターテスコードを確認しています。HTTPスターテスコードは一般的にはリクセストの結果の状況を提供します。標準のHTTPスターテスコードおよびそのメッセージは次のようになります:
- 200 OK リクエストは成功しました。
- 301 Moved Permanently リクエストされたリソースが移動したことを永続的に通知する。
- 400 Bad Request クライアントのリクエストにエラーがある。
- 401 Unauthorized 認証が必要。
- 403 Forbidden アクセスが拒否された。
- 404 Not Found リクエストしたリソースが見つからない。
- 500 Internal Server Error サーバー内部のエラー。
- 503 Service Unavailable サービス利用不可。サーバーが過負荷やメンテナンス中。
標準のHTTPスターテスコードとメッセージを利用することは、Restful APIの要件にもなっています。
カスタムエラーコードとメッセージを利用する
標準のHTTPスターテスコードとは異なり、APIによってカスタムエラーコードとメッセージを利用することもよく見られています。これらのエラーコードは、エラーの原因などのより多くの情報を提供するために使われています。例えば、ユーザー認証を処理するAPIは、次のようなエラーコードを定義することができます。
- 1001 ユーザー名またはパスワードが無効です
- 1002 アカウントがロックされました
- 1003 アカウントの有効期限が切れました
エラーメッセージを明確にする
エラーコードとステータスコードと一緒に、明確な意味があるエラーメッセージを APIに設置することが重要です。一般的には、エラーメッセージは、問題の原因、そして問題の解決策を明確にする必要があります。たとえば、「エラーが発生しました」のような一般的なエラーメッセージを返すのではなく、「ユーザー名またはパスワードが無効です」のようなより具体的なメッセージを提供します。
APIで簡単にエラーメッセージを定義できるApidog
それでは、APIを開発したり、設計したりする時に、APIの可用性を向上するため、エラーメッセージを定義する必要があるのに間違いありません。ここで、人気のAPI管理ツールのApidogを使用して、APIのエラーメッセージを簡単に定義することがおすすめです。
Apidogを使用すると、非常に直感的な操作で、エラーメッセージを含むAPIの仕様全体を定義することができますし、違うユースケースによって、違うエラーメッセージを定義することもできます。

Apidogの「Response」部分では、必要に応じて、エラーコードとエラーメッセージを複数追加することができます。上記の画像のように、標準のHTTPスターテスコードを定義することもできますし、自分の業務に合えるようカスタムエラーコートとエラーメッセージを定義することもできますので、非常に便利です。
また、自分の需要に従って、エラーメッセージをカスタマイズすることもできますので、APIの可用性を高めるには、ぜひApidogを使用して、APIでエラーメッセージを定義してください。