SpringMVC controller 接收对象类型的参数,正确打开方式

在我们工作中,有时候接口要接收很多参数,然后转化为对象,能不能直接在controller方法中直接接收对象参数呢?

答案是可以的,只要前端传过来的参数名跟对象的属性一一对应的json格式就可以,同时必须引入json解析的依赖。

首先,我们在项目中引入json解析的依赖:


    com.fasterxml.jackson.core
    jackson-databind
    2.8.8

然后创建一个实体类作为测试用:

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

SpringMVC controller 接收对象类型的参数,正确打开方式_第1张图片

 

②在body上使用json格式请求参数

SpringMVC controller 接收对象类型的参数,正确打开方式_第2张图片

 

③测试结果:

SpringMVC controller 接收对象类型的参数,正确打开方式_第3张图片

 

所以以后如果接口要接收对象参数时,可以使用此方法。

你可能感兴趣的:(java,spring)