在这里,我的要求是我需要在我的应用程序中使用单独的代码进行异常处理,我看到一个很好的选择spring使用@controller建议来全局处理异常。
@ControllerAdvice
class GlobalControllerExceptionHandler {
@ResponseStatus(HttpStatus.CONFLICT) // 409
@ExceptionHandler(DataIntegrityViolationException.class)
public void handleConflict() {
// Nothing to do
}
}
但我想在那里进行切割,就像正确的动态消息一样,拥有错误代码。所以我怎么能这样做,我是春季靴子的新手,甚至我不知道春天。需要基本的例子。
答案 0 :(得分:1)
你可以想出一个像这样的类来捕获在异常情况下要发送的信息: -
public class APIResponse {
int errorCode;
String description;
String someInformation;
// any other information that you want to send back in case of exception.
}
@ControllerAdvice
class GlobalControllerExceptionHandler {
@ResponseStatus(HttpStatus.CONFLICT) // 409
@ResponseBody
@ExceptionHandler(DataIntegrityViolationException.class)
public APIResponse handleConflict(DataIntegrityViolationException exception) {
APIResponse response = createResponseFromException(exception);
return response;
}
}
在您的控制器建议类中: -