Added HttpStatuses to RecipeController exception handler.
This commit is contained in:
parent
4ca1a077a1
commit
c89524a989
@ -6,6 +6,7 @@ import app.mealsmadeeasy.api.recipe.view.RecipeInfoView;
|
|||||||
import app.mealsmadeeasy.api.user.User;
|
import app.mealsmadeeasy.api.user.User;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.domain.Slice;
|
import org.springframework.data.domain.Slice;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -25,7 +26,11 @@ public class RecipeController {
|
|||||||
|
|
||||||
@ExceptionHandler
|
@ExceptionHandler
|
||||||
public ResponseEntity<RecipeExceptionView> onRecipeException(RecipeException recipeException) {
|
public ResponseEntity<RecipeExceptionView> onRecipeException(RecipeException recipeException) {
|
||||||
return ResponseEntity.badRequest().body(new RecipeExceptionView(
|
final HttpStatus status = switch (recipeException.getType()) {
|
||||||
|
case INVALID_ID, INVALID_USERNAME_OR_SLUG -> HttpStatus.NOT_FOUND;
|
||||||
|
case INVALID_COMMENT_ID -> HttpStatus.BAD_REQUEST;
|
||||||
|
};
|
||||||
|
return ResponseEntity.status(status.value()).body(new RecipeExceptionView(
|
||||||
recipeException.getType().toString(),
|
recipeException.getType().toString(),
|
||||||
recipeException.getMessage()
|
recipeException.getMessage()
|
||||||
));
|
));
|
||||||
|
@ -3,7 +3,9 @@ package app.mealsmadeeasy.api.recipe;
|
|||||||
public class RecipeException extends Exception {
|
public class RecipeException extends Exception {
|
||||||
|
|
||||||
public enum Type {
|
public enum Type {
|
||||||
INVALID_OWNER_USERNAME, INVALID_STAR, NOT_VIEWABLE, INVALID_COMMENT_ID, INVALID_USERNAME_OR_SLUG, INVALID_ID
|
INVALID_USERNAME_OR_SLUG,
|
||||||
|
INVALID_ID,
|
||||||
|
INVALID_COMMENT_ID
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Type type;
|
private final Type type;
|
||||||
|
Loading…
Reference in New Issue
Block a user