/** * Equis the model with a {@link Page} of {@link User}s. Spring Data automatically populates the {@link Pageable} from * request data according to the setup of {@link PageableHandlerMethodArgumentResolver}. Note how the defaults can be * tweaked by using {@link PageableDefault}. * * @param pageable will never be {@literal null}. * @return */ @ModelAttribute("users") public Page<User> users(@PageableDefault(size = 5) Pageable pageable) { return userManagement.findAll(pageable); }
private static Pageable getDefaultPageRequestFrom(MethodParameter parameter, PageableDefault defaults) { Integer defaultPageNumber = defaults.page(); Integer defaultPageSize = getSpecificPropertyOrDefaultFromValue(defaults, "size"); if (defaultPageSize < 1) { Method annotatedMethod = parameter.getMethod(); throw new IllegalStateException(String.format(INVALID_DEFAULT_PAGE_SIZE, annotatedMethod)); } if (defaults.sort().length == 0) { return PageRequest.of(defaultPageNumber, defaultPageSize); } return PageRequest.of(defaultPageNumber, defaultPageSize, defaults.direction(), defaults.sort()); }
private static KeysetPageable getDefaultPageRequestFrom(MethodParameter parameter) { PageableDefault defaults = parameter.getParameterAnnotation(PageableDefault.class); Integer defaultPageNumber = defaults.page(); Integer defaultPageSize = getSpecificPropertyOrDefaultFromValue(defaults, "size"); if (defaultPageSize < 1) { Method annotatedMethod = parameter.getMethod(); throw new IllegalStateException(String.format(INVALID_DEFAULT_PAGE_SIZE, annotatedMethod)); } if (defaults.sort().length == 0) { return new KeysetPageRequest(defaultPageNumber, defaultPageSize, null, null); } return new KeysetPageRequest(defaultPageNumber, defaultPageSize, null, new Sort(defaults.direction(), defaults.sort())); }
@RequestMapping(value = "/", method = RequestMethod.GET) String index(Model model, // @QuerydslPredicate(root = User.class) Predicate predicate, // @PageableDefault(sort = { "lastname", "firstname" }) Pageable pageable, // @RequestParam MultiValueMap<String, String> parameters) { ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentRequest(); builder.replaceQueryParam("page", new Object[0]); model.addAttribute("baseUri", builder.build().toUri()); model.addAttribute("users", repository.findAll(predicate, pageable)); return "index"; } }
private static KeysetPageable getDefaultPageRequestFrom(MethodParameter parameter) { PageableDefault defaults = parameter.getParameterAnnotation(PageableDefault.class); Integer defaultPageNumber = defaults.page(); Integer defaultPageSize = getSpecificPropertyOrDefaultFromValue(defaults, "size"); if (defaultPageSize < 1) { Method annotatedMethod = parameter.getMethod(); throw new IllegalStateException(String.format(INVALID_DEFAULT_PAGE_SIZE, annotatedMethod)); } if (defaults.sort().length == 0) { return new KeysetPageRequest(defaultPageNumber, defaultPageSize, null, null); } return new KeysetPageRequest(defaultPageNumber, defaultPageSize, null, new Sort(defaults.direction(), defaults.sort())); }
@GetMapping() public Page<UserDetails> allUsers( @RequestParam(required = false, value = "q") String q, @RequestParam(required = false, value = "role") String role, @PageableDefault(page = 0, size = 10, sort = "createdDate", direction = Sort.Direction.DESC) Pageable page) { log.debug("fetch all users...@" + q + ", role @" + role); Page<UserDetails> users = userService.findAll(q, role, page); log.debug("count of fetched users @" + users.getTotalElements()); return users; }
@GetMapping(value = "/{id}/comments") public ResponseEntity<Page<CommentDetails>> getCommentsOfPost( @PathVariable("id") Long id, @PageableDefault(page = 0, size = 10, sort = "createdDate", direction = Direction.DESC) Pageable page) { log.debug("get comments of post@" + id + ", page@" + page); Page<CommentDetails> commentsOfPost = blogService.findCommentsByPostId(id, page); log.debug("get post comment size @" + commentsOfPost.getTotalElements()); return new ResponseEntity<>(commentsOfPost, HttpStatus.OK); }
@GetMapping(value = "") public ResponseEntity getAll( @RequestParam(value = "q", required = false) String q, @RequestParam(value = "role", required = false) String role, @RequestParam(value = "active", required = false) String active, @PageableDefault(page = 0, size = 10, sort = "createdDate", direction = Sort.Direction.DESC) Pageable page) { Page<User> users = this.userRepository.findAll(UserSpecifications.byKeyword(q, role, active), page); return ok(users); }
@RequestMapping(value = "/search", method = RequestMethod.GET) public ResponseEntity<PagedResources<TenantResource>> search(@PageableDefault Pageable pageable, @RequestParam(required = false) String searchBy, PagedResourcesAssembler<Tenant> assembler) { Page<Tenant> page = tenantQueryService.findAll(pageable, searchBy); return new ResponseEntity<>(assembler.toResource(page, tenantResourceAssembler), HttpStatus.ACCEPTED); }
@RequestMapping(value = "/search", method = RequestMethod.GET) public ResponseEntity<PagedResources<ProjectResource>> searchProjects( @PageableDefault Pageable pageable, @RequestParam(required = false) String searchBy, PagedResourcesAssembler<Project> assembler) throws NotAuthenticatedException { Page<Project> pageResult = projectQueryService.findBy(pageable, searchBy); PagedResources<ProjectResource> resources = assembler.toResource(pageResult, projectResourceAssembler); return new ResponseEntity<>(resources, HttpStatus.OK); }
@RequestMapping(value = "/search", method = RequestMethod.GET) public ResponseEntity<PagedResources<TemplateResource>> search(@PageableDefault Pageable pageable, @RequestParam(required = false) String searchBy, PagedResourcesAssembler<Template> assembler) throws NotAuthenticatedException { Page<Template> page = templateService.findBy(pageable, searchBy); return new ResponseEntity<>(assembler.toResource(page, templateResourceAssembler), HttpStatus.OK); }
@GetMapping("/main") public String main( @RequestParam(required = false, defaultValue = "") String filter, Model model, @PageableDefault(sort = { "id" }, direction = Sort.Direction.DESC) Pageable pageable, @AuthenticationPrincipal User user ) { Page<MessageDto> page = messageService.messageList(pageable, filter, user); model.addAttribute("page", page); model.addAttribute("url", "/main"); model.addAttribute("filter", filter); return "main"; }
@RequestMapping(value = "/search", method = RequestMethod.GET) public ResponseEntity<PagedResources<TenantResource>> search(@PageableDefault Pageable pageable, @RequestParam(required = false) String searchBy, PagedResourcesAssembler<Tenant> assembler) { Page<Tenant> page = tenantQueryService.findAll(pageable, searchBy); return new ResponseEntity<>(assembler.toResource(page, tenantResourceAssembler), HttpStatus.ACCEPTED); }
@RequestMapping(value = "/search", method = RequestMethod.GET) public ResponseEntity<PagedResources<TemplateResource>> search(@PageableDefault Pageable pageable, @RequestParam(required = false) String searchBy, PagedResourcesAssembler<Template> assembler) throws NotAuthenticatedException { Page<Template> page = templateService.findBy(pageable, searchBy); return new ResponseEntity<>(assembler.toResource(page, templateResourceAssembler), HttpStatus.OK); }
@RequestMapping(value = "/search", method = RequestMethod.GET) public ResponseEntity<PagedResources<ProjectResource>> searchProjects( @PageableDefault Pageable pageable, @RequestParam(required = false) String searchBy, PagedResourcesAssembler<Project> assembler) throws NotAuthenticatedException { Page<Project> pageResult = projectQueryService.findBy(pageable, searchBy); PagedResources<ProjectResource> resources = assembler.toResource(pageResult, projectResourceAssembler); return new ResponseEntity<>(resources, HttpStatus.OK); }
@RequestMapping(method = RequestMethod.GET, value = ApiUrls.URL_SITE_PROFILES_USER_COMMENTS) public HttpEntity<PagedResources<PublicCommentResource>> getUserApprovedCommentPosts( @PathVariable("userId") String userId, @PageableDefault(size = UtilConstants.DEFAULT_RETURN_RECORD_COUNT, page = 0) Pageable pageable, PagedResourcesAssembler<CommentPost> assembler) throws ResourceNotFoundException { Page<CommentPost> commentPosts = this.commentPostRepository.findByAuthorIdAndStatusOrderByCreatedTimeDesc( userId, CommentStatusType.APPROVED, pageable); return new ResponseEntity<>(assembler.toResource(commentPosts, publicCommentResourceAssembler), HttpStatus.OK); }
@RequestMapping(method = RequestMethod.GET, value = ApiUrls.URL_ADMIN_BLOGS_BLOG_COMMENTS) public HttpEntity<PagedResources<CommentResource>> getCommentPostsByBlogPostId( @PathVariable("blogId") String blogId, @PageableDefault(size = UtilConstants.DEFAULT_RETURN_RECORD_COUNT, page = 0) Pageable pageable, PagedResourcesAssembler<CommentPost> assembler) throws ResourceNotFoundException { Page<CommentPost> commentPosts = commentPostRepository.findByBlogPostIdOrderByCreatedTimeDesc(blogId, pageable); return new ResponseEntity<>(assembler.toResource(commentPosts, commentResourceAssembler), HttpStatus.OK); }
@GetMapping() @ApiOperation(nickname = "get-all-posts", value = "Get all posts") @ApiResponses( value = { @ApiResponse(code = 200, message = "return all posts by page") } ) public ResponseEntity<Page<PostDetails>> getAllPosts( @RequestParam(value = "q", required = false) String keyword, // @RequestParam(value = "status", required = false) Post.Status status, // @PageableDefault(page = 0, size = 10, sort = "createdDate", direction = Direction.DESC) Pageable page) { log.debug("get all posts of q@" + keyword + ", status @" + status + ", page@" + page); Page<PostDetails> posts = blogService.searchPostsByCriteria(keyword, status, page); log.debug("get posts size @" + posts.getTotalElements()); return new ResponseEntity<>(posts, HttpStatus.OK); }
@RequestMapping(method = RequestMethod.GET, value = ApiUrls.URL_ADMIN_COMMENTS) public HttpEntity<PagedResources<CommentResource>> getCommentPosts( @PageableDefault(size = UtilConstants.DEFAULT_RETURN_RECORD_COUNT, page = 0, sort="createdTime", direction=Direction.DESC) Pageable pageable, PagedResourcesAssembler<CommentPost> assembler) { Page<CommentPost> commentPosts = this.commentPostRepository.findAll(pageable); return new ResponseEntity<>(assembler.toResource(commentPosts, commentResourceAssembler), HttpStatus.OK); }
@RequestMapping(method = RequestMethod.GET, value = ApiUrls.URL_ADMIN_BLOGS) public HttpEntity<PagedResources<BlogResource>> getBlogPosts( @PageableDefault(size = UtilConstants.DEFAULT_RETURN_RECORD_COUNT, page = 0) Pageable pageable, PagedResourcesAssembler<BlogPost> assembler) { Page<BlogPost> blogPosts = this.blogPostRepository.findAll(pageable); return new ResponseEntity<>(assembler.toResource(blogPosts, blogResourceAssembler), HttpStatus.OK); }