关于RestTemplate postForObject方法请求 服务端Controller接受不到值的问题解决

简介: 关于RestTemplate postForObject方法请求 服务端Controller接受不到值的问题解决
本文适合有SSM框架基础和springboot开发基础的同学查阅

这里postForObject 方法有三个参数,没有使用四个参数的。


restTemplate.postForObject(String url, Object request, Class<T> responseType);


1.String url => 顾名思义 这个参数是请求的url路径。


2.Object request => 请求的body 这个参数需要再controller类用 @RequestBody 注解接收


3.Class<T> responseType => 接收响应体的类型


private static final String REST_URL_PREFIX = "http://localhost:8001";

@Autowired
RestTemplate restTemplate;
发送请求的controller方法
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String update(User user) {
    return restTemplate.postForObject(REST_URL_PREFIX+"/cloud/update", user, String.class);
} 
接受请求的controller方法
@RestController 
@RequestMapping("/cloud") 
public class UserController {
  //这里一定要用@RequestBody 注解接收--Controller接受不到值的根本原因
  @RequestMapping(value = "/update", method = RequestMethod.POST)
  public String update(@RequestBody User user) {
      if(user.getId() == null){
          return "传值为空";
      }else if (userService.update(user)) {
        return "修改成功";
      } else {
          return "修改失败";
      }
  }

成功返回

如果不使用@RequestBody注解,则接受不到传值

@RequestMapping(value = "/update", method = RequestMethod.POST)
public String update(User user) {
    if(user.getId() == null){
        return "传值为空";
    }else if (userService.update(user)) {
        return "修改成功";
    } else {
        return "修改失败";
    }
}

 


目录
相关文章
使用post向webservice发送请求,并且返回值
注意,这个方法仅仅适用于:该post页面处于websercive 站点下,或者是与webservice同属于一个主站点,即在iis里属于同一主站点的同级虚拟目录。 protected void btnSynData_Click(object sender, EventArgs e) { string wsUrl = "http://127.
899 0
|
JSON Java fastjson
controller发送请求接收返回json
controller发送请求接收返回json
256 0
controller发送请求接收返回json
|
Java Maven 网络架构
给RestTemplate添加拦截器记录请求响应
给RestTemplate添加拦截器记录请求响应,还需解决流只读一次的问题
486 0
06初始化HandlerMapping并根据Http请求获取HandlerExecutionChain
初始化HandlerMapping 根据request获取对应的HandlerExecutionChain RequestMappingHandlerMapping体系实现获取HandlerExecutionChain
195 0
|
前端开发
[SpringMVC]请求与响应②(五种类型参数传递)
请求与响应②(五种类型参数传递)
[SpringMVC]请求与响应②(五种类型参数传递)
restTemplate发送携带header参数的get和post请求demo
restTemplate发送携带header参数的get和post请求demo
253 0
|
前端开发 安全 JavaScript
bboss 动态令牌使用示例-ajax请求获取和传递令牌
bboss 动态令牌使用示例-ajax请求获取和传递令牌。bboss动态令牌实现机制参考文档: bboss 动态令牌机制轻松搞定网站跨站攻击和表单重复提交问题 本文内容: 1.如何编写自己的令牌生成控制器(基于bboss mvc) 2.如何通过ajax申请令牌和传递令牌 接下来进入正文。
862 0
|
5月前
|
JSON 前端开发 数据格式
Controller方法层POST请求方式代码形参接收不到问题
Controller方法层POST请求方式代码形参接收不到问题
83 0

热门文章

最新文章