更新 [2] 簡易制御
最終更新日: 2020年6月9日
R8 | R9
この API は「自動ログオン」と併用して使うことを想定しています。
具体的には、リクエストヘッダに "X-Wagby-Authorization" をセットして更新APIを呼び出すことで、ログオン&更新&ログオフという流れを一回で実現することができます。
対象データの主キーを含めたデータを送ります。
http://localhost:8921/wagby/rest/customer/edit/1000
フォーム画面と同様のパラメータを指定します。(ただし主キーは URL に含めているため、主キーを除いた更新用データを指定します。)
STATUS=200 OK
レスポンスに含まれる entity は更新用の入力値と同じものが返されます。更新後にデータベースに格納された値を返戻させるように動作を変えることもできます。
返戻の内容例を示します。
STATUS=404 Not Found
STATUS=409 Conflict
この簡易制御方式では、主キーの指定はURLのパスに指定する方法のみ利用できます。
例えば複合主キーのモデルでは、次のようになります。
なお、セパレータ "$" を使う場合、モデル定義中の項目定義順に値を指定してください。
プレゼンテーションオブジェクトのJSON表現を指定します。
「requestパラメータによる更新」と同様です。
requestパラメータによる簡易更新またはJSONオブジェクトによる簡易更新において、更新後にデータベースの値を改めて取得し、これを entity, entityp として返戻させることができます。
用途
requestパラメータによる更新
@RequestMapping(value="/rest/[modelid]/edit/{pkey}", method=PUT, headers="Content-Type=application/x-www-form-urlencoded")
URL例
リクエスト
例:
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": []
}
}
レスポンス - データが見つからない
レスポンス - ロックエラー
主キーの扱い
対応
書式
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")
リクエスト
例:
{
"customerid": {
"content":"1000"
}
"name": {
"content":"Satou"
}
}
レスポンス
データベースに保存された値を返戻する