構造取得
メソッド
RESTメソッドを採用しています。
HTTPメソッド
GET: 単一ストラクチャー情報取得
命名規則
クエリパラメータとノードの命名を統一し、可読性を向上させるため、リクエスト時のURIとJSON内のノードにはsnake_caseを使用します。
リクエストとレスポンス
ヘッダー
メタ情報はレスポンスボディではなく、HTTPヘッダーに設定されます。
リクエストヘッダー
AuthorizationContent-TypeAcceptAccept-language
レスポンスヘッダー
Content-Type
単一ストラクチャー情報取得
URI
パスパラメータ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| organization_id | integer | 必須 | 組織ID |
| project_id | integer | 必須 | プロジェクトID |
| structure_id | string | 必須 | ストラクチャーUUID |
レスポンス
レスポンスはJSONです。
{
"structureId": "structure-uuid",
"projectId": 1,
"name": "My Structure",
"json": { "key": "value" },
"createdAt": 1234567890000,
"updatedAt": 1234567890000,
"deletedAt": null
}
レスポンスフィールド
| 名前 | 型 | 説明 |
|---|---|---|
| structureId | string | ストラクチャーUUID |
| projectId | number | プロジェクトID |
| name | string | ストラクチャー名 |
| json | object | ストラクチャーJSONデータ |
| createdAt | number | 作成日時(エポックミリ秒) |
| updatedAt | number | 更新日時(エポックミリ秒) |
| deletedAt | number | null | 削除日時(エポックミリ秒)。未削除の場合はnull |
認証
認証はAmazon Cognitoから発行されるJSON Web Tokens (JWT)を使用して行われます。
例外処理
例外処理のステータスコードは以下の通りです。
| 説明 | ステータスコード | ステータス名 |
|---|---|---|
| 認証情報不足 | 401 | Unauthorized |
| 実行権限不足 | 403 | Forbidden |
| ストラクチャー、プロジェクト、または組織が見つかりません | 404 | Not Found |
| 内部サーバーエラー | 500 | Internal Server Error |
処理フロー
- パスパラメータから組織ID、プロジェクトID、ストラクチャーIDを抽出
- ユーザーがプロジェクトへのアクセス権を持つか検証
- ストラクチャーが指定されたプロジェクトに属していることを検証
- ストラクチャー情報(jsonデータ含む)を返却
詳細フローチャート
flowchart TD
Start([GET Request]) --> Auth[認証・パラメータ取得]
Auth --> Service[Service Layer]
Service --> AccessCheck[権限チェック]
AccessCheck --> HasAccess{Read権限?}
HasAccess -->|なし| Err404[404 Not Found]
HasAccess -->|あり| QueryDB[Repository Layer]
QueryDB --> FindRecord[レコード取得<br/>WHERE deletedAt IS NULL]
FindRecord --> Exists{存在?}
Exists -->|なし| Err404
Exists -->|あり| Format[レスポンス整形]
Format --> Success[200 OK]