📚 API仕様書

自由進度学習支援システム REST API ドキュメント

🔐 認証方法

このAPIはJWT (JSON Web Token) 認証を使用します。

  1. ログイン: POST /api/auth/login でJWTトークンを取得
  2. 認証ヘッダー: リクエストに Authorization: Bearer {token} を付与
  3. 有効期限: 24時間(自動更新あり)

Swagger UIでの認証方法:

  1. 右上の「Authorize 🔓」ボタンをクリック
  2. 「Value」フィールドにJWTトークンを入力(Bearerプレフィックスなし)
  3. 「Authorize」をクリック → 🔒に変わる

📌 API使用例

1. ログイン

curl -X POST https://e8efc4f3.jiyushindo-gakushu.pages.dev/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "username": "tanaka_taro",
    "password": "your_password"
  }'

2. 学習スタイル検出(認証必要)

curl -X GET https://e8efc4f3.jiyushindo-gakushu.pages.dev/api/adaptive/detect-learning-style/42 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

3. 学習進捗記録(認証必要)

curl -X POST https://e8efc4f3.jiyushindo-gakushu.pages.dev/api/progress \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "card_id": 101,
    "student_answer": "45 cm²",
    "time_spent_seconds": 120,
    "hint_used": false,
    "confidence_level": "high"
  }'

🏷️ エンドポイントカテゴリー

📊 API統計