无论是否有错误,我都需要RESTful服务来每次都返回JSON . 在正常情况下一切正常,但是当异常来临时我会看到 Whitelabel Error Page .
我试图以两种方式解决这个问题 .
通过使用@RestController注释的类里面的@Controller类中的@ExceptionHandler:
@ExceptionHandler(MyCustomException.class)
@ResponseBody
public ErrorResponse handleException(Exception e) {
return new ErrorResponse(5, "Error message");
}
并通过@ControllerAdvice注释的特殊类:
@ControllerAdvice
public class ExceptionController {
@ExceptionHandler(MyCustomException.class)
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public ErrorResponse handleSecurityException(MyCustomException e) {
return new ErrorResponse(5, "Error message");
}
}
在这两种情况下,通过断点我看到那些方法被调用,但我仍然收到 Whitelabel Error Page .
那么我错过了什么或做错了什么?
1 回答
问题是我忘了为ErrorResponse类实现getter和setter .