# API設計書サンプル ## ファイル登録API ### 概要 ファイルをxxxxxする ### パス `/api/v1/register` ### メソッド - POST - JSON (Req/Res) ### パラメータ |パラメータ名|型|内容| |---|---|---| |id|string|xxx ID| |files|array|ファイルのオブジェクト| #### ファイルオブジェクト |パラメータ名|型|内容| |---|---|---| |filename|string|ファイル名| |data|string|base64エンコードしたファイルの実体| #### リクエストサンプル ```JSON { "id": "1234567890abcedf" "files": [ { "filename": "sample.txt", "data": "aGVsbG8gd29ybGQ=" }, { "filename": "test.txt", "data": "44GT44KT44Gr44Gh44Gv" } ] } ``` ### レスポンス #### 成功時 - ステータスコード: 200 #### レスポンスオブジェクト |パラメータ名|型|内容| |---|---|---| |code|number|コード| |message|string|メッセージ| #### レスポンスサンプル ```JSON { "code": 0, "message": "OK" } ``` #### 失敗時 - [[エラーレスポンス]] を参照 #### レスポンスオブジェクト |パラメータ名|型|内容| |---|---|---| |code|number|コード| |message|string|メッセージ| ※ エラーレスポンスの体系は別途検討 #### レスポンスサンプル ```JSON { "code": 101, "message": "invalid parameter error" } ``` ## 監査API ### 概要 - xxxxを監査をする ### パス `/api/v1/audit` ### メソッド - POST - JSON (req/res) ### パラメータ |パラメータ名|型|内容| |---|---|---| |id|string|xxx ID| |files|array|ファイルのオブジェクト| #### ファイルオブジェクト |パラメータ名|型|内容| |---|---|---| |filename|string|ファイル名| |data|string|base64エンコードしたファイルの実体| #### リクエストサンプル ```JSON { "id": "1234567890abcdef", "files": [ { "filename": "sample.txt", "data": "aGVsbG8gd29ybGQ=" }, { "filename": "test.txt", "data": "44GT44KT44Gr44Gh44Gv" } ], } ``` ### レスポンス #### 監査実行完了 - ステータスコード: 200 #### レスポンスオブジェクト |パラメータ名|型|内容| |---|---|---| |isValid|boolean|監査結果: true...問題なし, false...問題あり| |files|array|監査結果オブジェクト| #### 監査結果 |パラメータ名|型|内容| |---|---|---| |filename|string|ファイル名| |isValid|boolean|監査結果: true...問題なし, false...問題あり| #### レスポンスサンプル ```JSON { "isValid": false, "files": [ { "filename": "sample.txt", "isValid": true }, { "filename": "test.txt", "isValid": false }, ] } ``` #### 監査実行失敗 - [[エラーレスポンス]] を参照 #### レスポンスオブジェクト |パラメータ名|型|内容| |---|---|---| |code|number|エラーコード| |message|string|エラーメッセージ| ※ エラーレスポンスの体系は別途検討 #### レスポンスサンプル ```JSON { "code": 101, "message": "invalid parameter error" } ```