From 747d311476f39c18cbbec1610eba720b0cde552e Mon Sep 17 00:00:00 2001 From: Lukas Karsch <lukas.karsch03@gmail.com> Date: Wed, 29 Nov 2023 18:24:10 +0100 Subject: [PATCH] #29 now returning pages as collection, query params for page number and page size available. --- requests.http | 4 ++-- .../java/hdm/mi/growbros/controllers/PlantsController.java | 7 +++++-- src/main/java/hdm/mi/growbros/service/PlantsService.java | 7 +++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/requests.http b/requests.http index 50ce01e..9401e13 100644 --- a/requests.http +++ b/requests.http @@ -1,6 +1,6 @@ ### Get all plants -GET http://localhost:8080/api/v1/plants -Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJsdWthcy5rYXJzY2hAZ214LmRlIiwiaWF0IjoxNzAwOTMzNjQ4LCJleHAiOjE3MDEwMjAwNDh9.IXoMuNecB7ARvZpEyx5SraMbdoZrHgADeHd7wAo0ddw +GET http://localhost:8080/api/v1/plants?page=0 +Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJsdWthcy5rYXJzY2hAZ214LmRlIiwiaWF0IjoxNzAxMjc4MzkzLCJleHAiOjE3MDEzNjQ3OTN9.TVQlG3yAl_zJddPoWDndY9Xj-9EaR0P__x3aGU3sdBA ### Get garden entries GET http://localhost:8080/api/v1/garden diff --git a/src/main/java/hdm/mi/growbros/controllers/PlantsController.java b/src/main/java/hdm/mi/growbros/controllers/PlantsController.java index 096fa76..dbe0369 100644 --- a/src/main/java/hdm/mi/growbros/controllers/PlantsController.java +++ b/src/main/java/hdm/mi/growbros/controllers/PlantsController.java @@ -15,8 +15,11 @@ public class PlantsController { private final PlantsService plantsService; @GetMapping("/api/v1/plants") - public Collection<Plant> getAllPlants() { - return plantsService.getPlants(); + public Collection<Plant> getAllPlants( + @RequestParam(value = "page", defaultValue = "0") int page, + @RequestParam(value = "pageSize", defaultValue = "25") int pageSize + ) { + return plantsService.getPlants(page, pageSize); } @GetMapping("api/v1/randomPlants/{numberOfPlants}") diff --git a/src/main/java/hdm/mi/growbros/service/PlantsService.java b/src/main/java/hdm/mi/growbros/service/PlantsService.java index 2d83c2c..d56338f 100644 --- a/src/main/java/hdm/mi/growbros/service/PlantsService.java +++ b/src/main/java/hdm/mi/growbros/service/PlantsService.java @@ -5,6 +5,8 @@ import hdm.mi.growbros.repositories.PlantRepository; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -19,8 +21,9 @@ public class PlantsService { private final PlantRepository plantRepository; - public Collection<Plant> getPlants() { - return plantRepository.findAll(); + public Collection<Plant> getPlants(int pageNumber, int pageSize) { + final Pageable page = PageRequest.of(pageNumber, pageSize); + return plantRepository.findAll(page).getContent(); } public Collection<Plant> getRandomPlants(int numberOfPlants) { -- GitLab