代码之家  ›  专栏  ›  技术社区  ›  cc.zhang

在shiro过滤器中获取json数据

  •  0
  • cc.zhang  · 技术社区  · 7 年前

    我有个问题。
    json由clinet使用post方法发布,并位于请求正文中。
    我想在shiro过滤器中获取json数据。
    但我没有找到任何方法得到它。
    有什么解决办法吗?我用的是弹簧靴。

    谢谢你的帮助

    2 回复  |  直到 4 年前
        1
  •  0
  •   Ntobeko Mkhize    7 年前

    首先,您需要创建自己的过滤器类,该类扩展Shiro的过滤器之一。Shiro提供了许多方法,您可以在生命周期的不同点越级访问请求对象。

    您决定覆盖的方法将取决于您想要做什么,您在问题中没有解释这一点。

    获得请求对象后,只需按如下方式读取正文:

        StringBuilder builder = new StringBuilder();
        BufferedReader reader = request.getReader();
        String line;
        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }
        return builder.toString();
    
        2
  •  0
  •   Brian Demers    7 年前

    Shiro过滤器只是servlet过滤器,在这种情况下,您需要直接处理请求对象