検索結果はサーバで保持しており、ページ単位に結果を取得することができます。

パラメータで検索条件を指定する方法です。

URL例

http://localhost:8921/wagby/rest/customer/list?customer_cp$002fname=Suzuki

レスポンス

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

{
 "result": {
   "size": 1,
   "next": 1,
   "current": 1,
   "nextPage": false,
   "prevPage": false
 },
 "errors": {
   "jfcinfo": [],
   "jfcwarn": [],
   "jfcdebug": [],
   "jfcerror": []
 },
 "status":"ShowListCustomerController.input",
 "entity": [
   {
     "customerid": 1000,
     "name": "Suzuki",
     "email": []
   }
 ],
 "listp": {
   "sortable": "customerid",
   "sort": "",
   "order": "",
   "item": [
     {
       "customerid":"1000",
       "name":"Suzuki"
     }
   ]
 },
 "conditionp": {
   "name": {
     "content":"Suzuki",
     "formatted": null,
     "errorcode":""
   }
 }
}
@RequestMapping(value="/rest/[modelid]/list", method=POST, headers={"Content-Type=application/x-www-form-urlencoded"})

パラメータ

フォーム画面と同様のパラメータをPOSTとして指定します。
例:
customer_cp$002fname=Suzuki

レスポンス

「検索」と同様です。

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

HTTPヘッダ

Content-Type:application/json

リクエスト

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

{
   "name": {
     "content":"Suzuki"
   }
}

choose属性の扱い

チェックボックスとして用意した項目は、選択肢に choose 属性が付与されています。 これを検索条件に含める場合、choose 属性をtrueとしてサーバに送ります。

{
  "jgroupid": [
    { 
    "id": "1000",
    "choose":true
    }
  ]
}

レスポンス

「検索」と同様です。

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

レスポンス

「検索」と同様です。

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

レスポンス

「検索」と同様です。

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

レスポンス

「検索」と同様です。

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

レスポンス

「検索」と同様です。

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

firstresultに取得する検索結果の開始件数(レコード番号)を指定します。
検索結果の数より大きい数字を指定した場合は、最後のページ(last)を取得します。

例えば、1ページ当たりの数(取得件数)が10の場合、10と指定することで2ページ目、20と指定することで3ページ目が表示されます。

例1

http://localhost:8921/wagby/rest/customer/list/jump/1

1ページ目(1件目から10件目)の検索結果を取得する。0から9までの数字を指定した場合は、1ページ目となる。

例2

http://localhost:8921/wagby/rest/customer/list/jump/10

2ページ目(11件目から20件目)の検索結果を取得する。10から19までの数字を指定した場合は、2ページ目となる。

例3

http://localhost:8921/wagby/rest/customer/list/jump/20

3ページ目(21件目から30件目)の検索結果を取得する。20から29までの数字を指定した場合は、3ページ目となる。

レスポンス

「検索」と同様です。

@RequestMapping(value="/rest/[modelid]/changeSizePerPage", method=POST, headers={"Content-Type=application/x-www-form-urlencoded"}, params="__jfc_size_per_page")

パラメータ

パラメータ説明
__jfc_size_per_page1ページ当たりの数

レスポンス

「検索」と同様です。

requestパラメータを利用する

検索パラメータに付与できる制御用パラメータは次のとおりです。

パラメータ説明
pagesizejshparam取得件数
firstresultjshparam開始件数
sortkeyjshparamソートキー

例1:
firstresultjshparam=0 と設定した場合、検索結果の先頭から、一覧表示の「ページにおける表示数」の分までを取得します。

例2:
firstresultjshparam=10 と設定した場合、検索結果の10件目から、一覧表示の「ページにおける表示数」の分までを取得します。

例3:
pagesizejshparam=100&firstresultjshparam=10 と設定した場合、検索結果の10件目から110件目までを取得します。

例4:
sortkeyjshparam=customerid:DESCと指定した場合、customerid項目を降順でソートした結果を取得します。

JSONオブジェクトを利用する

JSONオブジェクトの場合は次のようになります。

パラメータ説明
pagesize取得件数
firstresult開始件数
sortkeyソートキー

例:

{
       "pagesize": 100,
       "firstresult": 10,
       "sortkey": "customerid:DESC"
}

where 条件に合致した「件数」を返します。暗黙条件があれば、それも適用されます。
リクエストはlistと同様に検索条件を指定できます。

@RequestMapping(value="/rest/[modelid]/count", method=GET)
@RequestMapping(value="/rest/[modelid]/count", method=POST, headers={"Content-Type=application/x-www-form-urlencoded"})
@RequestMapping(value="/rest/[modelid]/count", method=POST, headers={"Content-Type=application/json"})

レスポンス

返戻の内容例を示します。listからresult, entity, listpを省いた形式となります。totalに見つかった件数が出力されます。

{
    "conditionp": {
        "pagesize": 10,
        "firstresult": 0,
        "sortkey": null,
        "pkey1jshparam": {
            "content": "",
            "formatted": "",
            "errorcode": ""
        },
        "pkey2jshparam": {
            "content": "",
            "formatted": "",
            "errorcode": ""
        },
        "item1": {
            "content": null,
            "formatted": null,
            "errorcode": ""
        },
...
        "item5": {
            "content": null,
            "formatted": null,
            "errorcode": ""
        },
        "noselection_jshparam": []
    },
    "total": 2,
    "errors": {
        "jfcerror": [],
        "jfcinfo": [],
        "jfcwarn": [],
        "jfcdebug": []
    },
    "status": "showListModel1.input"
}

一覧表示の集計」を定義したとき、その結果がレスポンスに含まれます。キーは "sum", "count", "avg", "max", "min" です。