From 73797e184c3d8fb84f2178cfdbd6512afcddc5fe Mon Sep 17 00:00:00 2001 From: Tim <47184194+imgde@users.noreply.github.com> Date: Fri, 23 May 2025 11:27:58 +0200 Subject: [PATCH] Improve ImageController error handling --- .../htwsaar/webshop/controller/ImageController.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/00-backend/src/main/java/de/htwsaar/webshop/controller/ImageController.java b/00-backend/src/main/java/de/htwsaar/webshop/controller/ImageController.java index d691b16..4acfc64 100644 --- a/00-backend/src/main/java/de/htwsaar/webshop/controller/ImageController.java +++ b/00-backend/src/main/java/de/htwsaar/webshop/controller/ImageController.java @@ -7,6 +7,7 @@ import de.htwsaar.webshop.service.ValidatorService; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -34,14 +35,22 @@ public class ImageController { public ResponseEntity> getAll(HttpServletRequest request, @RequestParam(value = PARAM_ARTICLE_ID) Long articleId) { logRequest(request); - return ResponseEntity.ok(imageService.from(imageService.getImagesByArticleId(articleId))); + List images = imageService.getImagesByArticleId(articleId); + if(images.isEmpty()) { + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + return ResponseEntity.ok(imageService.from(images)); } @RequestMapping(path = IMAGE_BASE, method = RequestMethod.GET, produces = "application/json") public ResponseEntity getFirst(HttpServletRequest request, @RequestParam(value = PARAM_ARTICLE_ID) Long articleId) { logRequest(request); - return ResponseEntity.ok(imageService.from(imageService.getImageByArticleId(articleId))); + Image image = imageService.getImageByArticleId(articleId); + if(image == null) { + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + return ResponseEntity.ok(imageService.from(image)); } @RequestMapping(path = IMAGE_BASE, method = RequestMethod.POST, produces = "application/json")