@GetMapping("/recent") public Iterable<Taco> recentTacos() { //<3> PageRequest page = PageRequest.of( 0, 12, Sort.by("createdAt").descending()); return tacoRepo.findAll(page).getContent(); } //end::recents[]
@GetMapping("/zones/{zoneId}") public Mono<Rendering> displayZone(@PathVariable String zoneId) { PageRequest pageRequest = PageRequest.of(0, this.historySize, Sort.by("timestamp").descending()); Flux<PowerGridSample> latestSamples = this.powerGridSampleRepository .findAllByZoneId(zoneId, pageRequest); return this.zoneDescriptorRepository.findById(zoneId) .switchIfEmpty(Mono.error(new MissingDataException(zoneId))) .map(zoneDescriptor -> Rendering .view("zone") .modelAttribute("zone", zoneDescriptor) .modelAttribute("samples", latestSamples) .build()); }
@GetMapping(path="/tacos/recent", produces="application/hal+json") public ResponseEntity<Resources<TacoResource>> recentTacos() { PageRequest page = PageRequest.of( 0, 12, Sort.by("createdAt").descending()); List<Taco> tacos = tacoRepo.findAll(page).getContent(); List<TacoResource> tacoResources = new TacoResourceAssembler().toResources(tacos); Resources<TacoResource> recentResources = new Resources<TacoResource>(tacoResources); recentResources.add( linkTo(methodOn(RecentTacosController.class).recentTacos()) .withRel("recents")); return new ResponseEntity<>(recentResources, HttpStatus.OK); }