API設計書は、APIの構造や動作を正確に記述した文書であり、開発者がAPIを正しく実装し、利用するためのガイドとなる。API設計書には、以下のような項目を含めることが一般的。
APIエンドポイントを示すURI(Uniform Resource Identifier)は、APIが提供するリソースへのアクセス経路を定義する。
/api/v1/users
(ユーザー情報を取得するエンドポイント)GET
, POST
, PUT
, DELETE
などのHTTPメソッド。
GET
: データの取得POST
: 新規データの作成PUT
: 既存データの更新DELETE
: データの削除APIリクエストで送信されるデータ。クエリパラメータ、パスパラメータ、ボディパラメータの3つがあり、それぞれ使い方が異なる。
?page=1&limit=10
/api/v1/users/{userId}
{ "username": "JohnDoe", "email": "john.doe@example.com" }
APIを利用する際にどのようにリクエストを送るかを明示する項目。
GET
メソッドを使ってユーザー情報を取得する際の例:http GET /api/v1/users/123 HTTP/1.1 Host: example.com Authorization: Bearer token12345 Content-Type: application/json
APIから返されるレスポンスの形式や構造を定義。一般的に、JSON形式でデータが返されることが多い。
{ "status": "success", "data": { "id": 123, "username": "JohnDoe", "email": "john.doe@example.com" } }
APIを利用するための認証方法と、アクセスできるリソースを制御する認可の仕組み。
Bearer token
やAPIキー
など、APIにアクセスする際に必要な認証方法。APIがエラーを返す際のメカニズムや、エラーコードの定義。API利用者が適切にエラーを処理できるように記述する。
{ "status": "error", "message": "User not found", "code": 404 }
APIのセキュリティ対策に関する項目。データを安全にやり取りするために、HTTPSや認証トークンを使用する。
API設計書には、URIやメソッド、パラメータ、レスポンス、認証、エラーハンドリング、セキュリティ対策など、APIの利用者が正確にAPIを使用するために必要な情報を記載する必要がある。これにより、開発者間でのコミュニケーションがスムーズになり、効率的なAPI開発と運用が可能になる。