如何拦截在 HTTPRequest 中作为 JSON 数据发送到控制器的参数?

How to Intercept parameters sent as JSON data in HTTPRequest to Controller?

我们正在构建一个定制的 JEE 安全层,以确保解决所有可能的 OWASP 问题。此安全层构建为过滤器,需要在控制器之前 运行(在我们的例子中为 Spring),以便它们可以在请求实际到达控制器之前执行。这些安全过滤器查看用户输入并执行各种清理。一种这样的卫生设施是 JSON 卫生设施,其中会查找来自客户端的 JSON 数据以查找任何恶意内容。

目前,Spring 控制器使用 @RequestBody 注释将传入的 JSON 数据流行到 POJO 类。

我有完全相同的 question 但是,是否有通用的方法从请求中检索参数(作为 JSON 数据发送)?

my objective is to have a JSON sanitizer code in a Filter, so that it intercepts and parses all JSON data that comes to the controller.

我能够使用以下技术读取和检索 json 数据。 StringBuffer jb 终于有了完整的 JSON 数据。

StringBuffer jb = new StringBuffer();
  String line = null;
 BufferedReader reader = request.getReader();
    while ((line = reader.readLine()) != null)
      jb.append(line);
  }

参考: