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字符串的对象
5 comments
谢谢你
谢谢兄弟了
谢谢了
谢谢老哥