Request里如何获取@RequestBody对应的参数?
springcloud中
假如后端服务有
@RequestMapping("/test")
pubilc void test(@RequestBody MyPram myParam){
...
}
在zuul网关的过滤器中,我要获取myParam的值,
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
然后如何通过Request获取myParam的值?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
既然能拿到request了。
那么可以直接
request.getParamXXXXX()
具体方法名忘了补充:抱歉没有看到是在zuul网关里,不过通过RequestContext拿到了
HttpServletRequest
那应该是一样可以这么做的。@RequestBody
用于接收http请求的请求体(request body),在HttpServletRequest
里是以流的方式传输的。我这里使用RestClient发送一个
Http
的Post
请求:在Controller里(只要能拿到HttpServletRequest的地方就可以),我用
fastjson
去接收并且转换成java bean
,代码如下:我把客户端发送的数据(Article对象)原样返回,得到的结果是这样的: