springcloud - resttemplate post对象接收不到
本文介绍了springcloud - resttemplate post对象接收不到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
客户端:
用了两种方式都不行
第一种:
this.restTemplate.postForObject("http://demo-main/register?a={a}", userInfo, String.class, "test");
第二种:
this.restTemplate.postForObject("http://demo-main/register?userInfo={userInfo}&a={a}", null, String.class, userInfo, "test");
服务端:
@RequestMapping(value = "/register", method = RequestMethod.POST)
public void register(UserInfo userInfo, String a) throws UserException {
logger.info("==== register {} , {}", JSON.toJSONString(userInfo), a);
UserInfoPo po = UserConvertUtil.info2Po(userInfo);
userInfoPoMapper.insert(po);
}
日志输出只能接收到a的参数值
2017-02-04 14:44:32.476 INFO 68445 --- [nio-8080-exec-1] com.ellis.user.UserServiceImpl : ==== register {} , test
请大神指导
解决方案
@Override
@RequestMapping(value = "/register", method = RequestMethod.POST)
public void register(@RequestBody UserInfo userInfo) throws UserException {
logger.info("==== register {} ", JSON.toJSONString(userInfo));
UserInfoPo po = UserConvertUtil.info2Po(userInfo);
userInfoPoMapper.insert(po);
}
接收参数添加@RequestBody注解就好了。
这篇关于springcloud - resttemplate post对象接收不到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文