在我们工作中,有时候接口要接收很多参数,然后转化为对象,能不能直接在controller方法中直接接收对象参数呢?
答案是可以的,只要前端传过来的参数名跟对象的属性一一对应的json格式就可以,同时必须引入json解析的依赖。
首先,创建一个实体类作为测试用:
public class Cat {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
接下来写controller接口,我们接收的参数类型为刚刚创建的实体类(Cat),使用注解@RequestBody:
@RestController
public class HelloController {
@PostMapping("/pojo")
public String pojo(@RequestBody Cat cat){
return cat.getName()+":"+cat.getAge();
}
}
启动项目,打开postman测试:
①将content-type改为json
②在body上使用json格式请求参数
③测试结果:
所以以后如果接口要接收对象参数时,可以使用此方法。