@Transactional(readOnly = true) @RequestMapping(value = "/contacts", method = RequestMethod.POST) @ResponseBody public JGridRowsResponse<Contact> getContacts(HttpServletRequest request, @RequestParam Long ID) { PageRequest pageRequest = null; if (request.getParameter("page") != null) { int rows = 10; int page; try { page = Integer.parseInt(request.getParameter("page")) - 1; if (page < 0) page = 0; rows = request.getParameter("rows") == null ? 10 : Integer.parseInt(request.getParameter("rows")); if (request.getParameter("sidx") != null && !request.getParameter("sidx").isEmpty()) { String direction = request.getParameter("sord"); pageRequest = new PageRequest( page, rows, "asc".equals(direction) ? Sort.Direction.ASC : Sort.Direction.DESC, request.getParameter("sidx")); } else { pageRequest = new PageRequest(page, rows); } } catch (NumberFormatException ex) { // do nothing } } /**/ if (pageRequest != null) { return new JGridRowsResponse<>(counterpartyRepository.getContacts(ID, pageRequest)); } else { return new JGridRowsResponse<>(counterpartyRepository.getContacts(ID)); } }