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

请大神指导

阅读 6.6k
1 个回答
@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注解就好了。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进