关于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 "修改失败";
    }
}

 


目录
相关文章
|
7月前
feign发起url请求日期序列化问题
feign发起url请求日期序列化问题
205 0
|
Java 测试技术 API
【SpringMVC】参数传递与用户请求和响应(上)
【SpringMVC】参数传递与用户请求和响应(上)
84 0
|
3月前
|
JSON 前端开发 数据格式
Controller方法层POST请求方式代码形参接收不到问题
Controller方法层POST请求方式代码形参接收不到问题
51 0
|
4月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
140 3
|
5月前
|
程序员
后端“timestamp“: “2024-03-20T17:59:01.892+00:00“, “stat,解决的方法,如果你要发get请求,你要添加GetMapping,不写明请求方式,会报错
后端“timestamp“: “2024-03-20T17:59:01.892+00:00“, “stat,解决的方法,如果你要发get请求,你要添加GetMapping,不写明请求方式,会报错
在职责链模式中,如何判断是否应该处理请求或将请求传递给下一个节点
在职责链模式中,如何判断是否应该处理请求或将请求传递给下一个节点
|
JSON 前端开发 Java
【SpringMVC】参数传递与用户请求和响应(下)
【SpringMVC】参数传递与用户请求和响应(下)
85 0
|
JSON Java fastjson
controller发送请求接收返回json
controller发送请求接收返回json
247 0
controller发送请求接收返回json