スポンサーリンク

APIのエラーコード一覧メモ

記事内に広告が含まれています。

APIエラーコードの理解は、APIを利用する際に非常に重要です。

エラーコードはリクエストが成功しなかった理由を示し、問題の原因と解決策を見つける手助けをします。

以下に、一般的なAPIエラーコードをメモしておきます。

個別のAPIの仕様については、該当APIのドキュメントを参照してください。

スポンサーリンク

エラーコード

情報レスポンス(100系)

100系のステータスコードは、クライアントとサーバー間の通信がまだ進行中であることを示します。

主にプロトコルレベルの通信で使用され、最終レスポンスが送信される前の一時的な応答として利用されます。

  • 100 Continue
    クライアントがリクエストを続行しても問題ないことを示します。
    サーバーがリクエストヘッダーを受信し、リクエスト本文を送る準備ができていることを伝えます。
  • 101 Switching Protocols
    サーバーがクライアントのプロトコル切り替え要求を受け入れたことを示します。
    例えば、HTTPからWebSocketプロトコルに切り替える場合に使用されます。

成功ステータス(200系)

  • 200 OK
    リクエストが正常に処理されたことを示します。サーバーから期待するレスポンスが返されます。

リダイレクト(300系)

300系のステータスコードは、リクエストされたリソースの場所が変更された場合や、他のURLへリダイレクトする必要がある場合に使用されます。

  • 301 Moved Permanently
    リクエストされたリソースが恒久的に別のURLに移動されたことを示します。リソースの新しい場所がレスポンスに含まれており、以降はそのURLを使用するよう指示します。
  • 302 Found (Temporary Redirect)
    リクエストされたリソースが一時的に別のURLに移動している場合に返されます。クライアントはリクエストを再送信できますが、将来的には元のURLにアクセスする可能性があります。
  • 304 Not Modified
    リソースが更新されておらず、キャッシュされたバージョンを使用できることを示します。キャッシュ制御を効率化し、ネットワーク負荷を軽減するために使用されます。

クライアントエラー(400系)

  • 400 Bad Request
    リクエストに誤りがあり、サーバーが処理できない場合に発生します。
    例えば、必要なパラメータが欠落している、またはデータ形式が不適切な場合です。
  • 401 Unauthorized
    認証が不足しているか、無効な認証情報が提供された場合に発生します。APIキーやトークンの確認が必要です。
  • 403 Forbidden
    サーバーがリクエストを拒否している場合に発生します。認証は済んでいるが、リクエストしたリソースへのアクセス権がない場合などが考えられます。
  • 404 Not Found
    リクエストしたリソースが見つからない場合に返されます。エンドポイントURLが間違っている場合や、リソースが存在しない場合に発生します。
  • 405 Method Not Allowed
    エンドポイントがサポートしていないHTTPメソッド(例えば、POSTではなくGETを要求)を利用した場合に発生します。
  • 429 Too Many Requests
    短期間に過剰なリクエストが送信されたため、レート制限を超えたときに返されます。
    しばらく待ってから再リクエストするか、リクエスト頻度を調整する必要があります。

サーバーエラー(500系)

  • 500 Internal Server Error
    サーバーで予期しないエラーが発生した場合に返されます。
    API提供側に問題がある可能性が高いです。
  • 502 Bad Gateway
    サーバーが不正なレスポンスを受け取った場合に返されます。
    ネットワークやプロキシ、API提供側のサーバーに問題がある可能性があります。
  • 503 Service Unavailable
    サーバーが一時的に利用不可である場合に返されます。サーバーが過負荷状態にあるか、メンテナンス中であることを示しています。
  • 504 Gateway Timeout
    リクエストがタイムアウトし、サーバーが一定の時間内に応答しなかった場合に発生します。
    サーバーが処理に時間を要している場合やネットワーク遅延の可能性があります。
スポンサーリンク

トラブルシューティング

APIのエラーコードを理解することで、トラブルシューティングがスムーズに進みますが、それに加えて、エラー発生時の原因特定や解決方法をいくつか準備しておくとさらに効率的です。

400 Bad Request

例えば、400 Bad Requestが返された場合、リクエストボディやパラメータ形式を見直し、送信内容がAPIの仕様に沿っているかを再確認することが重要です。

特に、データ型やフォーマットの不一致が原因になることが多いので、これらを細かくチェックすると良いでしょう。

401 Unauthorized/403 Forbidden

また、認証エラーが発生する401 Unauthorized403 Forbiddenのケースでは、トークンやAPIキーの有効期限、アクセス権限が適切かを確認します。

多くのAPIはトークンの更新手順やリフレッシュメカニズムを備えているため、これらを適切に実装することで、無駄なエラーを未然に防げます。

505系

500系エラーについては、API提供者側のサーバー問題である可能性が高いため、リトライ戦略を検討することがポイントです。

例えば、数分後に再リクエストするか、エラー発生時に一定間隔で数回リトライする方法が考えられます。

また、エラーの詳細メッセージをログに記録することで、サポートに問い合わせる際に役立てることができます。

さらに、特定のエラーコードが頻発する場合、その傾向をログデータから分析することで、原因究明や改善策の立案がしやすくなります。

例えば、レート制限が多発する場合、頻繁にアクセスしているエンドポイントにキャッシュを導入することが効果的です。

エラーコードを理解して適切な対応策を講じることにより、サービス全体の安定性と品質を向上させることが可能です。

スポンサーリンク
AWSAzure
著者SNS
タイトルとURLをコピーしました