我目前正在开发一个webservice,它总是返回json作为对任何请求的响应(所有好的请求都已经工作)。当请求的http状态是错误请求时(状态400准确),我想返回一个json。我用@ControllerAdvice
的spring mvc来完成这项工作:
@ControllerAdvice
public class RestErrorHandler {
@ExceptionHandler(Exception.class)
@ResponseStatus(value=HttpStatus.BAD_REQUEST, reason="Something went wrong. Please check your JSON REQUEST!")
public @ResponseBody ErrorClass processValidationError() {
// some stuff in setting the error response
return new ErrorClass();
}
但是,它发生的是它返回错误请求的默认Tomcat 7错误消息,而不是我设置的json。 processValidationError()
将返回ErrorClass
个实例,该实例将使用jackson plugin
自动采用json格式。我错过了什么吗?