ファイル型項目の値を操作することができます。 R7.5

マルチパート(multipart/form-data)を使うことができます。具体的には form 要素に enctype="multipart/form-data" を指定します。

使い方

ここでは図1に示すサンプルモデル model1 を使って説明します。filename1項目、cont/cfilename項目がファイル型項目となっています。

図1 サンプルモデル

主キー項目 pkey の値が 1000 のデータを更新する場合、次のようになります。

1. ログオン

PUT
http://localhost:8921/wagby/rest/session

パラメータ:x-www-form-urlencoded形式にて
user=xxx
pass=xxx
を送信します。成功すると、ログオンしたアカウントの情報をJSONデータとして取得できます。

2. 更新開始

GET
http://localhost:8921/wagby/rest/model1/edit/1000

パラメータはありません。成功すると、更新対象のデータをJSONデータにて取得できます。

3. 更新実行

PUT
http://localhost:8921/wagby/rest/model1/edit

パラメータmodel1_p$002ffilename1とmodel1_p$002fcont$005b1$005d$002fcfilenameはファイル項目なので、ファイル本文をマルチパート形式で指定します。

これらのキー名は更新画面のHTMLのソースを見ることで、確認できます。

model1_p$002fpkey	1000
model1_p$002fcontent	aaa
model1_p$002ffilename1	ファイルを指定
model1_p$002fcont$005b1$005d$002fcid	1
model1_p$002fcont$005b1$005d$002fccontent	aaa
model1_p$002fcont$005b1$005d$002fcfilename	ファイルを指定

成功すると、更新対象のデータをJSONデータにて取得できます。
この呼び出しをPOSTMANというツールで確認した画面を図2に示します。

図2 POSTMAN によるやりとり

JSONオブジェクトを使って個別に指定する方法を説明します。

更新画面 ファイルのアップロード

更新画面でファイル型項目を更新します。

@RequestMapping(value="/rest/[modelid]/edit/file/{modelitem}", method = POST, headers="Content-Type=multipart/form-data")

URL例

http://localhost:8921/wagby/rest/model1/edit/file/filename1

POSTでアクセスし、マルチパートでファイルを送信します。ファイルはキー名 file にて指定します。 アップロードしたファイルが設定されます。

利用上の注意点

更新開始の後に呼び出す必要があります。更新実行後に保存されます。

繰り返しコンテナ内のファイル型項目の扱い

繰り返しコンテナを指定する場合は、次のようになります。

例: 繰り返しコンテナ cont の1番目のコンテナの cfilename 項目を指定する。

http://localhost:8921/wagby/rest/model1/edit/file/cont/1/cfilename

更新画面 ファイルの削除

更新画面でファイル型項目を削除します。

@RequestMapping(value="/rest/[modelid]/edit/file/{modelitem}", method = DELETE)

URL例

http://localhost:8921/wagby/rest/model1/edit/file/filename1

DELETEでアクセスします。指定した項目のファイルが削除されます。

利用上の注意点

更新開始の後に呼び出す必要があります。更新実行後に保存されます。

繰り返しコンテナ内のファイル型項目の扱い

「更新画面 ファイルのアップロード」と同様の指定になります。

更新画面 ファイルのダウンロード

更新画面でファイル型項目をダウンロードします。

@RequestMapping(value="/rest/[modelid]/edit/file/{modelitem}", method = GET)

URL例

http://localhost:8921/wagby/rest/model1/edit/file/filename1

GETでアクセスします。指定した項目のファイルをダウンロードできます。

利用上の注意点

更新開始の後に呼び出す必要があります。更新実行後に保存されます。

繰り返しコンテナ内のファイル型項目の扱い

「更新画面 ファイルのアップロード」と同様の指定になります。

新規登録画面 ファイルのアップロード

新規登録画面でファイル型項目をアップロードします。

@RequestMapping(value="/rest/[modelid]/new/file/{modelitem}", method = POST, headers="Content-Type=multipart/form-data")

URL例

http://localhost:8921/wagby/rest/model1/new/file/filename1

POSTでアクセスします。マルチパートでファイルを送信します。ファイルはキー名 file にて指定します。 アップロードしたファイルが設定されます。

利用上の注意点

新規登録開始の後に呼び出す必要があります。新規登録実行後に保存されます。

繰り返しコンテナ内のファイル型項目の扱い

繰り返しコンテナを指定する場合は、次のようになります。

例: 繰り返しコンテナ cont の1番目のコンテナの cfilename 項目を指定する。

http://localhost:8921/wagby/rest/model1/new/file/cont/1/cfilename

新規登録画面 ファイルの削除

新規登録画面でファイル型項目を削除します。

@RequestMapping(value="/rest/[modelid]/new/file/{modelitem}", method = DELETE)

URL例

http://localhost:8921/wagby/rest/model1/new/file/filename1

DELETEでアクセスします。指定した項目のファイルが削除されます。

利用上の注意点

新規登録開始の後に呼び出す必要があります。新規登録実行後に保存されます。

繰り返しコンテナ内のファイル型項目の扱い

「新規登録画面 ファイルのアップロード」と同様の指定になります。

新規登録画面 ファイルのダウンロード

新規登録画面でファイル型項目をダウンロードします。

@RequestMapping(value="/rest/[modelid]/new/file/{modelitem}", method = GET)

URL例

http://localhost:8921/wagby/rest/model1/new/file/filename1

GETでアクセスします。指定した項目のファイルをダウンロードできます。

利用上の注意点

新規登録開始の後に呼び出す必要があります。新規登録実行後に保存されます。

繰り返しコンテナ内のファイル型項目の扱い

「新規登録画面 ファイルのアップロード」と同様の指定になります。

詳細画面 ファイルのダウンロード

詳細画面でファイル型項目をダウンロードします。

@RequestMapping(value="/rest/[modelid]/entry/{pkey}/file/{modelitem}", method = GET)

URL例

http://localhost:8921/wagby/rest/model1/entry/1000/file/filename1

GETでアクセスします。指定した項目のファイルをダウンロードできます。

繰り返しコンテナ内のファイル型項目の扱い

「更新画面 ファイルのアップロード」と同様の指定になります。