从RequestBodyAdviceAdapter发送自定义响应

时间:2019-06-24 23:04:52

标签: java spring model-view-controller

如何从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,因此无法返回该消息。有什么方法可以将错误消息返回给客户端吗?

1 个答案:

答案 0 :(得分:0)

我只需要抛出一个RuntimeException。