java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot类型传参和json传参

详解SpringBoot中5种类型参数传递和json数据传参的操作

作者:在下小吉.

当涉及到参数传递时,Spring Boot遵循HTTP协议,并支持多种参数传递方式,这些参数传递方式可以根据请求的不同部分进行分类,

当涉及到参数传递时,Spring Boot遵循HTTP协议,并支持多种参数传递方式。这些参数传递方式可以根据请求的不同部分进行分类。

使用理论进行讲解时,我们可以了解这些参数传递方式的原理和用途。根据HTTP协议的规范和Spring Boot的设计,开发人员可以选择合适的参数传递方式来满足业务需求。这些参数传递方式在RESTful API开发中非常常见,可以用于处理各种场景下的数据传输。

普通参数

我们在UserController类中写入这一段代码

 @RequestMapping("/commonParamDifferentname")
    @ResponseBody
    public String commonParamDifferentName(@RequestParam("name") String userName,int age){
        System.out.println("普通参数传递 userName ==> "+userName);
        System.out.println("普通参数传递 age ==> "+age);
        return "{'module':'common param different name'}";
    }

在这里插入图片描述

接收成功

在这里插入图片描述

POJO参数

我们在User类中写入这一段代码

package com.example.domain;

public class User {
    private String name;
    private int age;

    private Address address;


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

    public Address getAddress() {
        return address;
    }

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

    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;
    }
}

我们在UserController类中写入这一段代码

//POJO参数:请求参数与形参对象中的属性对应即可完成参数传递
    @RequestMapping("/pojoParam")
    @ResponseBody
    public String pojoParam(User user){
        System.out.println("pojo参数传递 user ==> "+user);
        return "{'module':'pojo param'}";
    }

在这里插入图片描述

运行成功

在这里插入图片描述

嵌套pojo参数

适用于下面这种,可以反复写

在这里插入图片描述

我们在Address类中写入这一段代码

package com.example.domain;
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;
    }
}

在UserController里面写入这一段代码

  @RequestMapping("/pojoContainPojoParam")
    @ResponseBody
    public String pojoContainPojoParam(User user){
        System.out.println("pojo嵌套pojo参数传递 user ==> "+user);
        return "{'module':'pojo contain pojo param'}";
    }

继续测试

在这里插入图片描述

运行成功

在这里插入图片描述

数组参数

@RequestMapping("/arrayParam")
    @ResponseBody
    public String arrayParam(String[] likes){
        System.out.println("数组参数传递 likes ==> "+ Arrays.toString(likes));
        return "{'module':'array param'}";
    }

在这里插入图片描述

在这里插入图片描述

运行成功

在这里插入图片描述

集合参数

@RequestMapping("/listParam")
    @ResponseBody
    public String listParam(@RequestParam List<String> likes){
        System.out.println("集合参数传递 likes ==> "+ likes);
        return "{'module':'list param'}";
    }

在这里插入图片描述

在这里插入图片描述

运行成功

在这里插入图片描述

json数据传参

我们在SpringMvcConfig里面加入这一段代码@EnableWebMvc,开启json数据自动转换

在这里插入图片描述

json格式

我们找到上面 集合参数 的代码,把@RequestParam修改为@RequestBody

   @RequestMapping("/listParamForJson")
    @ResponseBody
    public String listParamForJson(@RequestBody List<String> likes){
        System.out.println("list common(json)参数传递 list ==> "+likes);
        return "{'module':'list common for json param'}";
    }

在这里插入图片描述

这里选择json,在下面写入数据

在这里插入图片描述

发现可以运行成功

在这里插入图片描述

嵌套json格式

@RequestMapping("/pojoParamForJson")
    @ResponseBody
    public String pojoParamForJson(@RequestBody User user){
        System.out.println("pojo(json)参数传递 user ==> "+user);
        return "{'module':'pojo for json param'}";
    }

在这里插入图片描述

运行成功

在这里插入图片描述

集合格式

@RequestMapping("/listPojoParamForJson")
    @ResponseBody
    public String listPojoParamForJson(@RequestBody List<User> list){
        System.out.println("list pojo(json)参数传递 list ==> "+list);
        return "{'module':'list pojo for json param'}";
    }

如果报错,重启一下就好了

在这里插入图片描述

在这里插入图片描述

运行成功

在这里插入图片描述

以上就是详解SpringBoot中5种类型参数传递和json数据传参的操作的详细内容,更多关于SpringBoot类型传参和json传参的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文