コンテンツにスキップ

[章番号]: RESTful API仕様書

このテンプレートの使い方

このファイルは、RESTful APIなど、プロジェクトが外部に公開するAPIの仕様を定義するためのテンプレートです。 詳しい使い方は「設計仕様の書き方ガイド」を参照してください。

1. はじめに

1.1. 目的

1.2. 対象読者

2. 基本情報

項目 内容
ベースURL (Production) https://api.example.com/v1
ベースURL (Staging) https://staging.api.example.com/v1
認証方式 [例: OAuth 2.0 Bearer トークン] (詳細はAPI設計共通ガイドラインを参照)
データ形式 application/json (UTF-8)

3. エンドポイント一覧

HTTPメソッド パス 説明
GET /users ユーザーの一覧を取得する
POST /users 新しいユーザーを作成する
GET /users/{userId} 特定のユーザーの情報を取得する
PUT /users/{userId} 特定のユーザーの情報を更新する
DELETE /users/{userId} 特定のユーザーを削除する

4. エンドポイント詳細

4.1. ユーザー一覧の取得

  • HTTPメソッド: GET
  • パス: /users
  • 概要: 登録されているユーザーの一覧をページネーション形式で取得する。

クエリパラメータ

パラメータ名 必須 説明
limit integer No 1ページあたりの取得件数。デフォルトは20。最大100
offset integer No 取得開始位置のオフセット。デフォルトは0

成功レスポンス

  • ステータスコード: 200 OK
  • レスポンスボディ:
{
    "total": 120,
    "users": [
        {
            "id": "user-001",
            "name": "Taro Yamada",
            "createdAt": "2025-07-28T10:00:00Z"
        },
        {
            "id": "user-002",
            "name": "Hanako Sato",
            "createdAt": "2025-07-28T11:00:00Z"
        }
    ]
}

エラーレスポンス

  • ステータスコード: 400 Bad Request (不正なパラメータ)
  • ステータスコード: 401 Unauthorized (認証エラー)

4.2. 新しいユーザーの作成

  • HTTPメソッド: POST
  • パス: /users
  • 概要: 新しいユーザーを登録する。

リクエストボディ

{
    "name": "Jiro Suzuki",
    "email": "jiro@example.com"
}
フィールド名 必須 説明
name string Yes ユーザー名。
email string Yes メールアドレス。一意である必要があります。

成功レスポンス

  • ステータスコード: 201 Created
  • レスポンスボディ:
{
    "id": "user-003",
    "name": "Jiro Suzuki",
    "createdAt": "2025-07-28T12:00:00Z"
}

エラーレスポンス

  • ステータスコード: 400 Bad Request (必須フィールド欠けなど)
  • ステータスコード: 409 Conflict (メールアドレスが既に存在)
  • ステータスコード: 401 Unauthorized (認証エラー)

5. 共通データモデル

Userオブジェクト

フィールド名 説明
id string ユーザーの一意なID。
name string ユーザー名。
createdAt string 作成日時 (ISO 8601形式)。

6. 共通エラーレスポンス形式

{
    "error": {
        "code": "INVALID_PARAMETER",
        "message": "The 'limit' parameter must be between 1 and 100."
    }
}