Spring Boot返回Whitelabel错误页面而不是JSON

时间:2018-02-16 15:58:11

标签: java spring spring-boot spring-restcontroller

我需要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错误页面

那么我错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是我忘了为ErrorResponse类实现getter和setter。