Skip to content

詳細設計書に基づいた REST API の実装 #5

@yus04

Description

@yus04

以下の詳細設計書に基づき、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):各ケースごとの挙動検証

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions