Skip to content

新着ガイドビジネスを止めずにレガシーシステムをモダナイズする

エンジニアリング

本番品質のREST API構築:実践チェックリスト

他のチームが頼れるAPIのための、設計、セキュリティ、バージョニング、運用。

著者
Eryon エンジニアリング
公開日
更新日
読了時間
1 分
Spring BootのREST APIで動く採用プラットフォームのダッシュボード

要点

  • リソースと、明確で一貫した規約を軸に設計する。
  • すべてのリクエストを認証し、すべての操作を認可する。
  • 意図的にバージョン管理し、既存の利用者を黙って壊さない。
  • 例付きで文書化し、プロダクトとして監視する。

APIは開発者のためのプロダクトです。連携先に信頼されるREST APIを設計、保護、バージョン管理、運用するための実践的なチェックリストです。

呼び出す人のために設計する

良いAPIは予測可能です。リソースには名詞を使い、標準的なHTTPメソッドとステータスコード、一貫した命名、単一のエラー形式を採用します。ひとつのエンドポイントを理解した開発者が、次のエンドポイントの動きを推測できるべきです。

  • リソース名と複数形の一貫性。
  • すべての一覧エンドポイントにページング、絞り込み、並べ替え。
  • コード、メッセージ、詳細を持つ標準のエラー形式。
  • 決済や注文を作成する操作には冪等キー。

すべてのリクエストにセキュリティを

すべての呼び出しを認証し(通常はOAuth 2.0や署名付きトークン)、すべての操作を呼び出し元のロールとスコープに照らして認可します。入口で入力を検証し、リクエストサイズを制限し、クライアントごとにレート制限をかけて、ひとつの連携がサービスを使い果たさないようにします。

利用者を壊さないバージョニング

新しいフィールドやエンドポイントの追加は、誰も壊さないはずです。フィールドの削除や名前の変更は壊します。APIを明示的にバージョン管理し、廃止は早めに告知し、利用者が移行するまで古いバージョンを動かし続けましょう。

ドキュメントと開発者体験

コードから生成したOpenAPI仕様は、ドキュメントを正確に保ちます。リクエストとレスポンスの例、認証の手順、そして連携先が安全に試せるサンドボックス環境を加えましょう。

プロダクトとして運用する

長く使われるAPIは、どう使われているかを把握し、問題があればすぐに気づけるオーナーがいるAPIです。

  • エンドポイントごと、クライアントごとにレイテンシとエラー率を追跡する。
  • 問題をエンドツーエンドで追えるようリクエストIDを記録する。
  • イベント通知には再送と署名付きのWebhookを使う。
  • 利用者向けにステータスと変更履歴を公開する。
関連サービスエンタープライズWebアプリケーション利用が増えても速さを保つダッシュボード、ポータル、プラットフォーム。

参考になりましたか?次の記事をメールで受け取れます。

月に1通。いつでも解除できます。

作る価値のあるプロダクトはありますか?

そのアイデアを、ビジネスで本当に使えるシステムに変えましょう。