POST请求参数获取不到
来源:6-7 Http请求前后监听工具-HttpInterceptor开发

TinyLeon
2018-08-14
老师好:
老师提供的工具类特别有用。
我对这些工具类有两个疑问,
1.jackson老师用的版本是codehaus,而不是fasterxml,我感觉后者应用更广
2.在HttpInterceptor类上,通过 JsonMapper.obj2String(request.getParameterMap()) 获取参数,为什么不能获得POST请求中的BODY里面的json,怎么样才能把这些数据打印出来呢?
谢谢老师!
写回答
1回答
-
你好,jackson从2.0开始确实更推fasterxml了,但是1.x两者都还好,从功能方面看,差别也不大。
POST请求中的BODY里面的json数据属于流的形式,流读了一次就没有了,正常只能被调用一次。这也是我在演示时没刻意去尝试获取这部分数据的原因。
如果要获取,也是可以的,可以通过request.getInputStream拿到,但是需要在使用之前,将流数据存到一个能持续Request生命周期的元素里面才可以,否则后面请求就拿不到了,通常我们并不建议这样做。有兴趣的话,你可以看一下 HttpServletRequestWrapper 深入了解一下。
00
相似问题