如何从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。

09-11 17:55