postForObject发送参数接方一直为null
今天遇到这样一个问题postForObject发送参数接方一直为null
@Autowired
private RestTemplate restTemplate;//提供多种便捷访问远程http的方法,简单的restful模板

private static final String REST_URL_PREFIX="http://127.0.0.1:8001";
    @RequestMapping("/consumer/dept/add")
    public boolean add(Dept dept){
//        RestTemplate restTemplate=getInstance("utf-8");
        System.out.println(dept);
        return restTemplate.postForObject(REST_URL_PREFIX+"/dept/add",new Dept("123"),Boolean.class);
    }

明明送进去的是对象没错啊,经过一下午的折腾才发现,接收方需要用@RequestBody注解来接收参数
@PostMapping("/dept/add")
public boolean addDept(@RequestBody Dept dept){
// System.out.println(dept);
// return true;
return deptService.addDept(dept);
}
那么使用@RequestBody注解接收参数和直接使用对象接受的区别在哪呢
@RequestBody 接收的是json字符串,所以就代表postForObject发送过来的对象其实是一个被格式化成json字符串的对象

Last modification:April 24, 2022
如果觉得我的文章对你有用,请随意赞赏