Pagination dans les recherches sur services REST mappés

Tags: #<Tag:0x00007f1013629f38>
Pagination dans les recherches sur services REST mappés
0

Suite à demande par mail.

La possibilité de paginer les recherches (GET) sur les services REST mappés à été mise en place sur la branche master (actuellement P24).

GET /myobject renvoie la liste non paginée
GET /myobject?_page=n renvoie la page n de la liste paginée, n est compris entre 1 et le nombre de page max (n <= 0 n’est pas pris en compte, donc liste non paginée, n > max page revient à n = max page)

La réponse est de la forme (ici pagination à 2 records par page):

{
  "pageCount": 2,
  "count": 8,
  "page": 1,
  "maxPage": 4,
  "products": [
    {
      "supplierName": "BIM Computers Ldt",
      "reference": "REF003",
      "supplierId": "1",
      "name": "Laptop",
      "supplierCode": "BIM",
      "row_id": "1"
    },
    {
      "supplierName": "BIM Computers Ldt",
      "reference": "REF005",
      "supplierId": "1",
      "name": "Screen",
      "supplierCode": "BIM",
      "row_id": "2"
    }
  ]
}

Les attributs supplémentaires sont:

  • count: nombre total de records qui matchent les filtres
  • pageCount: nombre de records de la page
  • page: numéro de la page (compris entre 1 et maxPage)
  • maxPage: nombre de pages

NB: le nombre de records par page se définit au niveau du user de la session via les méthodes Grant.getMinRows et Grant.getMaxRows (cf. https://docs.simplicite.io/4.0/javadoc-alpha/com/simplicite/util/GrantCore.html#setMinRows(int) et https://docs.simplicite.io/4.0/javadoc-alpha/com/simplicite/util/GrantCore.html#setMaxRows(int))