如何从RequestBodyAdviceAdapter中的afterBodyRead方法发送自定义响应?
我正在使用afterBodyRead来验证带有jsonschema的json对象。如果验证不正确,我想向客户端发送有关错误信息的响应。
@Override
public Object afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter,
Type targetType, Class<? extends HttpMessageConverter<?>> converterType) {
String json = (new Gson()).toJson(body);
try {
validator.checkSchema(schema, new JSONObject(json));
} catch (Exception ex) {
ex.printStackTrace();
//redirect or return customized error
}
return body;
}
afterBodyRead中没有HttpResponse,因此无法返回该消息。有什么方法可以向客户端返回错误消息?
最佳答案
我只需要抛出一个RuntimeException。