@RequestMapping(value = "/listgrid", method = RequestMethod.GET, produces = "application/json") @ResponseBody public NodeGrid listGrid( @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "rows", required = false) Integer rows, @RequestParam(value = "sidx", required = false) String sortBy, @RequestParam(value = "sord", required = false) String order) { Sort sort = null; String orderBy = sortBy; if (orderBy != null && orderBy.equals("name")) { orderBy = "name"; } if (orderBy != null && order != null) { if (order.equals("desc")) { sort = new Sort(Sort.Direction.DESC, orderBy); } else sort = new Sort(Sort.Direction.ASC, orderBy); } PageRequest pageRequest = null; if (sort != null) { pageRequest = new PageRequest(page - 1, rows, sort); } else { pageRequest = new PageRequest(page - 1, rows); } Page<Node> nodePage = nodeService.findByPage(pageRequest); NodeGrid nodeGrid = new NodeGrid(); nodeGrid.setCurrentPage(nodePage.getNumber() + 1); nodeGrid.setTotalPages(nodePage.getTotalPages()); nodeGrid.setTotalRecords(nodePage.getTotalElements()); List<Node> nodes = Lists.newArrayList(nodePage.iterator()); nodeGrid.setNodeData(checkAccessiblity(nodes)); return nodeGrid; }