From a5e361ffa251174525a59a426d41252a01eb7468 Mon Sep 17 00:00:00 2001 From: Alix JEUDI--LEMOINE Date: Fri, 1 Mar 2024 13:04:29 +0100 Subject: [PATCH] Ajout filtre Scientifique au getAllQuestions --- .../sae/controllers/QuestionController.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/QuestionController.java b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/QuestionController.java index fe838b2..2979583 100644 --- a/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/QuestionController.java +++ b/SpringBootProject/src/main/java/fr/iut/sciencequest/sae/controllers/QuestionController.java @@ -4,34 +4,32 @@ import fr.iut.sciencequest.sae.ApplicationConfig; import fr.iut.sciencequest.sae.assemblers.QuestionModelAssembler; import fr.iut.sciencequest.sae.dto.question.QuestionDTO; import fr.iut.sciencequest.sae.entities.Question; -import fr.iut.sciencequest.sae.services.QuestionService; +import fr.iut.sciencequest.sae.services.interfaces.IQuestionService; import lombok.AllArgsConstructor; +import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.web.PageableDefault; import org.springframework.data.web.PagedResourcesAssembler; import org.springframework.hateoas.PagedModel; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @AllArgsConstructor @RequestMapping("/api/v1/questions") public class QuestionController { - private final QuestionService questionService; + private final IQuestionService questionService; private final QuestionModelAssembler questionModelAssembler; @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") private final PagedResourcesAssembler pagedResourcesAssembler; @RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody - public PagedModel getAllQuestions(@PageableDefault(size = ApplicationConfig.DEFAULT_PAGEABLE_SIZE) Pageable p/*, - @RequestParam(value = "scientifiqueId", defaultValue = "-1") Integer scientifiqueId*/) { + public PagedModel getAllQuestions(@PageableDefault(size = ApplicationConfig.DEFAULT_PAGEABLE_SIZE) Pageable p, + @RequestParam(value = "scientifiqueId", defaultValue = "") Integer scientifiqueId) { - //Page questionPage = (scientifiqueId.equals(-1) ? questionService.findAll(p) : questionService.findAll(p)); //TEMPORAIRE NE PAS ENLEVER - return pagedResourcesAssembler.toModel(questionService.findAll(p), questionModelAssembler); + Page questionPage = (scientifiqueId == null ? questionService.findAll(p) : questionService.findWithCriteria(p, scientifiqueId)); //TEMPORAIRE NE PAS ENLEVER + return pagedResourcesAssembler.toModel(questionPage, questionModelAssembler); } }