From 4b9d03cfebf6b46977f298000b45fcca528ced41 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Wed, 28 Nov 2018 14:39:13 -0700 Subject: [PATCH] [SHIBUI-838] Added a general error handler for all other exceptions. --- .../ui/controller/support/RestControllersSupport.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/support/RestControllersSupport.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/support/RestControllersSupport.java index 1605b86dd..e5e4746a7 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/support/RestControllersSupport.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/support/RestControllersSupport.java @@ -1,9 +1,11 @@ package edu.internet2.tier.shibboleth.admin.ui.controller.support; import com.google.common.collect.ImmutableMap; +import edu.internet2.tier.shibboleth.admin.ui.controller.ErrorResponse; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -30,12 +32,17 @@ public MetadataResolver findResolverOrThrowHttp404(String resolverResourceId) { return resolver; } - - @ExceptionHandler + @ExceptionHandler(HttpClientErrorException.class) public ResponseEntity notFoundHandler(HttpClientErrorException ex) { if(ex.getStatusCode() == NOT_FOUND) { return ResponseEntity.status(NOT_FOUND).body(ex.getStatusText()); } throw ex; } + + @ExceptionHandler(Exception.class) + public final ResponseEntity handleAllOtherExceptions(Exception ex) { + ErrorResponse errorResponse = new ErrorResponse("400", ex.getLocalizedMessage()); + return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); + } }