在Spring REST应用程序中使用自定义消息处理常规HTTP异常

时间:2016-05-20 05:14:28

标签: rest http spring-mvc error-handling exception-handling

在REST实现的情况下,我在处理HTTP异常时遇到问题 我想在通用HTTP异常的情况下向用户显示我的自定义消息。 尝试使用控制器建议中的@ExceptionHandler注释来实现它,但这并不能解决问题。 我正在调查DefaultHandlerExceptionResolver,但没有在网上找到任何有用的工作示例。

有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您可以编写自己的应用程序范围的自定义异常类,如下所示。

@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {

    private static final long serialVersionUID = 1L;

    public ResourceNotFoundException() {}

    public ResourceNotFoundException(String message) {
        super(message);
    }

    public ResourceNotFoundException(String message, Throwable cause) {
        super(message, cause);
    }
}

然后可以从任何方法抛出此自定义异常。例如:

protected void verifySomething() throws ResourceNotFoundException {
    if(someConditionIsTrue()) {
        throw new ResourceNotFoundException("Custom Message"); 
    }
}