更新 [2] 簡易制御

最終更新日: 2020年6月9日
R8 | R9

用途

この API は「自動ログオン」と併用して使うことを想定しています。 具体的には、リクエストヘッダに "X-Wagby-Authorization" をセットして更新APIを呼び出すことで、ログオン&更新&ログオフという流れを一回で実現することができます。

requestパラメータによる更新

対象データの主キーを含めたデータを送ります。

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

URL例

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

リクエスト

フォーム画面と同様のパラメータを指定します。(ただし主キーは URL に含めているため、主キーを除いた更新用データを指定します。)
例:
customer_p$002fname=Satou

レスポンス

STATUS=200 OK

レスポンスに含まれる entity は更新用の入力値と同じものが返されます。更新後にデータベースに格納された値を返戻させるように動作を変えることもできます。

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

{
 "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": []
 }
}

レスポンス - データが見つからない

STATUS=404 Not Found

レスポンス - ロックエラー

STATUS=409 Conflict

主キーの扱い

この簡易制御方式では、主キーの指定はURLのパスに指定する方法のみ利用できます。

例えば複合主キーのモデルでは、次のようになります。

対応 書式
OK/rest/apisample/edit/100$SEP$200$SEP$300
NG/rest/apisample/edit?pkey1=100&pkey2=200&pkey3=300

なお、セパレータ "$" を使う場合、モデル定義中の項目定義順に値を指定してください。

JSONオブジェクトによる更新

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

リクエスト

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

{
  "customerid": {
    "content":"1000"
  }
  "name": {
    "content":"Satou"
  }
}

レスポンス

「requestパラメータによる更新」と同様です。

データベースに保存された値を返戻する

requestパラメータによる簡易更新またはJSONオブジェクトによる簡易更新において、更新後にデータベースの値を改めて取得し、これを entity, entityp として返戻させることができます。

詳細は "REST API 活用ガイド > 更新 > データベースに保存された値を返戻する" をお読みください。