サポート > Wagby Developer Network(R7) > REST API 活用ガイド > 更新 [1] 画面操作に準じた制御

更新処理は二つの方法があります。ここでは(Wagbyの更新画面操作と同じように)「更新開始」「更新実行」という二段階で行う方法を説明します。edit GET, edit PUTの順で行います。

指定したデータのロックを行います。

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

URL例

http://localhost:8921/wagby/rest/customer/edit/1000

レスポンス - データ取得成功

STATUS=200 OK
返戻の内容例を示します。

{
 "entityp": {
   "customerid_": {
     "content_":"1000",
     "formatted_": null,
     "errorcode_":""
   },
   "name_": {
     "content_":"Satou",
     "formatted_": null,
     "errorcode_":""
   },
   "email_": [
     {
       "id_": 1,
       "priority_": null,
       "content_": null,
       "errorcode_":""
     }
   ]
 },
 "errors": {
   "jfcinfo": [],
   "jfcwarn": [],
   "jfcdebug": [],
   "jfcerror": []
 },
 "status":"updateCustomer.input",
 "pkey": null,
 "entity": {
   "customerid_": 1000,
   "name_": "Satou",
   "email_": []
 }
}

指定したデータのロックを行います。

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

URL例

http://localhost:8921/wagby/rest/customer/edit?customerid=1000

レスポンス

「更新開始(主キーURL指定)」と同様です。

ロックを解除します。更新は行われません。

@RequestMapping(value="/rest/[modelid]/edit/cancel", method=GET)

URL例

http://localhost:8921/wagby/rest/customer/edit/cancel

レスポンス

返戻の内容例を示します。

{
 "entityp": null,
 "errors": {
   "jfcinfo": [],
   "jfcwarn": [],
   "jfcdebug": [],
   "jfcerror": []
 },
 "status":"showCustomer",
 "pkey": "1000",
 "entity": null
}

更新画面にてデータを入力し、リロードした際のデータを返します。更新の前に入力した値を使って、(サーバ側で)計算処理を行い、その結果を受け取るという目的で利用します。

@RequestMapping(value="/rest/[modelid]/edit/refresh", method=POST, headers="Content-Type=application/x-www-form-urlencoded")
a

URL例

http://localhost:8921/wagby/rest/customer/edit/refresh

リクエスト内容

フォーム画面と同様のパラメータを指定します。
例:
customer_p$002fcustomerid=1000
customer_p$002fname=Satou

レスポンス

新規登録処理と同様です。

{
 "entityp": {
   "customerid_": {
     "content_":"1000",
     "formatted_": null,
     "errorcode_":""
   },
   "name_": {
     "content_":"Satou",
     "formatted_": null,
     "errorcode_":""
   },
   "email_": [
     {
       "id_": 1,
       "priority_": null,
       "content_": null,
       "errorcode_":""
     }
   ]
 },
 "errors": {
   "jfcinfo": [],
   "jfcwarn": [],
   "jfcdebug": [],
   "jfcerror": []
 },
 "status":"updateCustomer.input",
 "pkey": null,
 "entity": {
   "customerid_": 1000,
   "name_": "Satou",
   "email_": []
 }
}

レスポンス

「更新キャンセル」と同様です。

@RequestMapping(value="/rest/[modelid]/edit/refresh", method=POST, headers="Content-Type=application/json")

URL例

http://localhost:8921/wagby/rest/customer/edit/refresh

HTTPヘッダ

Content-Type:application/json

リクエスト内容

プレゼンテーションオブジェクトのJSON表現を指定します。

{
   "customerid_":
     "content_":"1000"
   }
   "name_":
     "content_":"Satou"
   }
}

レスポンス

新規登録処理ならびに「requestパラメータによる更新リフレッシュ」と同様です。

@RequestMapping(value="/rest/[modelid]/edit", method=PUT, headers="Content-Type=application/x-www-form-urlencoded")

リクエスト

「requestパラメータによる更新リフレッシュ」と同様です。

レスポンス

「requestパラメータによる更新リフレッシュ」と同様です。

@RequestMapping(value="/rest/[modelid]/edit", method=PUT, headers="Content-Type=application/json")

リクエスト

「JSONオブジェクトによる更新リフレッシュ」と同様です。

レスポンス

「JSONオブジェクトによる更新リフレッシュ」と同様です。

Wagby Developer Day 2017