我需要RESTful服务来每次都返回JSON,无论是否有错误。在正常情况下一切正常,但是当出现异常时,我会看到 Whitelabel错误页面。
我试图以两种方式解决这个问题。
通过使用@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错误页面。
那么我错过了什么或做错了什么?
答案 0 :(得分:0)
问题是我忘了为ErrorResponse类实现getter和setter。