POST请求参数获取不到

来源:6-7 Http请求前后监听工具-HttpInterceptor开发

TinyLeon

2018-08-14

老师好:

   老师提供的工具类特别有用。

   我对这些工具类有两个疑问,

   1.jackson老师用的版本是codehaus,而不是fasterxml,我感觉后者应用更广

    2.在HttpInterceptor类上,通过 JsonMapper.obj2String(request.getParameterMap()) 获取参数,为什么不能获得POST请求中的BODY里面的json,怎么样才能把这些数据打印出来呢?

    谢谢老师!


写回答

1回答

Jimin

2018-08-14

你好,jackson从2.0开始确实更推fasterxml了,但是1.x两者都还好,从功能方面看,差别也不大。

POST请求中的BODY里面的json数据属于流的形式,流读了一次就没有了,正常只能被调用一次。这也是我在演示时没刻意去尝试获取这部分数据的原因。

如果要获取,也是可以的,可以通过request.getInputStream拿到,但是需要在使用之前,将流数据存到一个能持续Request生命周期的元素里面才可以,否则后面请求就拿不到了,通常我们并不建议这样做。有兴趣的话,你可以看一下 HttpServletRequestWrapper 深入了解一下。

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程