-
Notifications
You must be signed in to change notification settings - Fork 0
Description
以下の詳細設計書に基づき、Java で REST API を実装してください。
詳細設計書
1.1 API仕様詳細
エンドポイント:GET /api/users/{id}
HTTPメソッド:GET
パスパラメータ:
id(Long, 0以上, 必須)
バリデーション:数値以外の場合は400エラー
1.2 リクエスト仕様
GET /api/users/123
Authorization: Bearer {JWT}
1.3 レスポンス仕様
正常時(例):
{
"id": 123,
"name": "田中 太郎",
"email": "tanaka@example.com",
"role": "admin"
}
1.4 エラー仕様
ステータス レスポンス例 説明
404 {"error": "User not found"} ユーザー未存在
401 {"error": "Unauthorized"} 認証失敗
403 {"error": "Forbidden"} 権限不足
400 {"error": "Invalid ID"} 不正なID指定
1.5 認証・認可仕様
リクエストヘッダー:Authorization: Bearer {JWT}
トークン検証失敗時は401、権限不足時は403
1.6 データベース仕様
usersテーブル定義:
id BIGINT PK
name VARCHAR(100)
email VARCHAR(255)
role VARCHAR(20)
SQL例:
SELECT id, name, email, role FROM users WHERE id = ?
1.7 処理フロー詳細
Authorizationヘッダー検証
JWTデコード・権限チェック
パスパラメータidバリデーション
DB検索→該当ユーザー取得
ユーザー未存在の場合404
ユーザー情報をJSONで返却
1.8 テストケース例
正常系(存在ID・権限OK):レスポンス内容検証
異常系(未存在ID:404, 認証なし:401, 権限なし:403, 不正ID:400):各ケースごとの挙動検証