springMvc04(json数据传递参数)

一、集合参数(JSON格式)

1.1-导入"JSON"坐标(通用设置一次就可以)

<!-- springmvc 需要的json相关坐标-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.0</version>
        </dependency>

1.2-在"config-->springMvcConfig"加入@EnableWebMvc注解(通用设置一次就可以)

1.3-外部按照JSON格式的数据传入:["aaa","bbb","ccc"]

1.4-在"行参"里面加入@RequestBody注解

二、POJO参数(json格式):实体类

2.1-外部按照JSON格式的数据传入:

{
    "name":"chenxiix",
    "age":"18",
    "address":{
        "province":"beijing",
        "city":"beijing"
    }
}

2.2-PostMan测试:外部按照JSON格式的数据传入:

2.3-在"行参"里面加入@RequestBody注解

User这个实体类的代码块
public class User {

    private String name;

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }

    private int age;
    private Address address;

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }


    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public User() {
    }



    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
嵌套的实体类Address代码块
public class Address {
    private String province ;
    private String city;

    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

三、"集合"中有多个对象

3.1-外部按照JSON格式的数据传入:

[
    {"name":"chenxixi","age":"18" ,
    "addrsss":{"province":"beijng","city":"beijing"}
    },


    {"name":"wangwang","age":"18" ,
    "addrsss":{"province":"beijng","city":"beijing"}
    }
   
]

3.2-PostMan测试:(外部按照JSON格式的数据传入)

3.3-在"行参"里面加入@RequestBody注解:

User这个实体类的代码块
public class User {

    private String name;

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }

    private int age;
    private Address address;

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }


    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public User() {
    }



    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
嵌套的实体类Address代码块
public class Address {
    private String province ;
    private String city;

    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

四、总结;

4.1:本节的主要三个"JSON"参数

4.2:步骤1,导入json坐标

4.3:步骤2,设置发生JSON数据

4.4:步骤3,开启自动转换JSON数据支持

4.5:步骤4:,设置接收JSON数据

4.6:结尾


五、附加:注解介绍

5.1:@EnableWebMvc

5.2:@RequestBody

5.3:@RequestBody和@RequestParam的区别

六、代码块总结

 //集合参数(json格式)
    @RequestMapping("/listParamForJson")
    @ResponseBody
    public String listParamForJson(@RequestBody List<String> likes) { //需要以JSON格式传入数据
        System.out.println("--> 集合参数(json类型)listParamForJson:" + likes);
        System.out.println("--------");
        return "{molder:user_CommonParam}";
    }

    //POJO参数(json格式):实体类
    @RequestMapping("/pojoParamForJson")
    @ResponseBody
    public String pojoParamForJson(@RequestBody User user) { //需要以JSON格式传入数据
        System.out.println("--> POJO参数(json类型)POJOParamForJson:" + user);
        System.out.println("--------");
        return "{molder:user_CommonParam}";
    }

    //POJO参数(json格式):实体类
    @RequestMapping("/listPojoParamForJson")
    @ResponseBody
    public String listPojoParamForJson(@RequestBody List<User> list) { //多个"实体类"
        System.out.println("--> listPojoParamForJson参数(json类型)POJOParamForJson:" + list);
        System.out.println("--------");
        return "{molder:user_CommonParam}";
    }

posted on   陈嘻嘻-  阅读(189)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示