【SpringBoot篇】5种类型参数传递&&json数据传参的操作

这篇具有很好参考价值的文章主要介绍了【SpringBoot篇】5种类型参数传递&&json数据传参的操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎊专栏【SpringBoot】
🍔喜欢的诗句:天行健,君子以自强不息。
🎆音乐分享【如愿】
🎄欢迎并且感谢大家指出小吉的问题🥰

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

  • 路径参数(Path Parameters):
    路径参数是指在URL路径中的一部分,用于标识资源或指定操作。路径参数通常以{}的形式出现在URL中,如/users/{id},其中id就是一个路径参数。路径参数可以在URL中动态地改变,从而实现对不同资源的操作。使用路径参数时,Spring Boot使用@PathVariable注解将路径参数绑定到方法参数上。
  • 查询参数(Query Parameters):
    查询参数通常作为URL的一部分,以?开始,以key=value的形式出现,多个参数之间使用&连接,如/users?id=1&name=John。查询参数主要用于筛选或过滤资源。在Spring Boot中,可以使用@RequestParam注解将查询参数绑定到方法参数上。
  • 请求体参数(Request Body Parameters):
    请求体参数是通过HTTP请求体中发送的数据,通常用于传递复杂结构的数据,如JSON、XML等。请求体参数可以包含多个字段,并且可以表示更为复杂的数据模型。在Spring Boot中,可以使用@RequestBody注解将请求体参数绑定到方法参数上。
  • 表单参数(Form Parameters):
    表单参数通常使用HTML表单提交的数据,可以通过application/x-www-form-urlencoded或multipart/form-data格式传输。表单参数与查询参数类似,但是通常用于提交数据而不是进行筛选。在Spring Boot中,可以使用@RequestParam注解将表单参数绑定到方法参数上。
  • 请求头参数(Request Header Parameters):
    请求头参数包含在HTTP请求的头部信息中,可以用于传递附加的元数据,如鉴权信息、用户代理等。在Spring Boot中,可以使用@RequestHeader注解将请求头参数绑定到方法参数上。

使用理论进行讲解时,我们可以了解这些参数传递方式的原理和用途。根据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'}";
    }

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

接收成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🌺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'}";
    }

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring
运行成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🌺嵌套pojo参数

适用于下面这种,可以反复写
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

我们在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'}";
    }

继续测试
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

运行成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🌺数组参数

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

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring
运行成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🌺集合参数

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

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring
运行成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🎄json数据传参

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

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🛸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数据如何传,SpringBoot,spring boot,json,后端,java,spring

这里选择json,在下面写入数据
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

发现可以运行成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🛸嵌套json格式

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

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring
运行成功

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

🛸集合格式

@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'}";
    }

如果报错,重启一下就好了
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring
运行成功
多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring

多个参数的json数据如何传,SpringBoot,spring boot,json,后端,java,spring文章来源地址https://www.toymoban.com/news/detail-760541.html

到了这里,关于【SpringBoot篇】5种类型参数传递&&json数据传参的操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Springboot接口多个DTO入参的Postman上传方式

    Springboot接口多个DTO入参的Postman上传方式

    TO(Data Transfer Object)是一个常见的设计模式,用于封装数据传输对象。它通常用于将数据从一个层传递到另一个层,例如将数据从服务层传递到控制器层。 在Spring Boot中,使用DTO作为方法参数可以使代码更具可读性和可维护性。例如,如果您需要从前端传递多个参数到控制器

    2024年02月03日
    浏览(12)
  • 传json的同时传递多个MultipartFile

    传json的同时传递多个MultipartFile

    1,Java后端代码:(注意 @RequestPart 注解的使用哦!) 2,Postman测试时的传参: 备注: 如果除文件外都是 query 类型的参数的话,就不需要在除文件参数外的其他地方加任何注解,依旧按照老方法传递即可

    2024年02月13日
    浏览(8)
  • springboot传递List类型参数报错 No primary or single unique constructor found for interface java.util.List

    springboot传递List类型参数报错 No primary or single unique constructor found for interface java.util.List

    昨天在做毕设进行一对多插入的时候 出现了500错误 先看代码 mapper层代码 这里我是list集合进行一对多插入 控制层 前端  页面展示 然后页面显示500错误  查看控制台   报错:No primary or single unique constructor found for interface java.util.List     at org.springframework.beans.BeanUtils.getResol

    2024年02月11日
    浏览(14)
  • Postman中,既想传递文件,还想传递多个参数(后端)
  • Json数据传递参数

    Json数据传递参数

    第一步 在pom文件中添加相关配置 第二步 作用时开启json数据转换成对象 postman发送json数据 集合参数:Json格式 POJO参数:json格式 集合参数:json格式 @RequestBody与@RequestParam的区别 时间参数的转换 使用@DateTimeFormat可以指定时间的格式

    2024年02月02日
    浏览(10)
  • vue中使用$emit传递多个参数

    vue中使用$emit传递多个参数

    子组件: 父组件: 方法一:将要传的数据放到对象中,再将对象传给父组件 子组件: 父组件: 方法二:直接传递多个参数 子组件: 父组件: 接收的时候要传 arguments 参数 👇觉得有帮助的朋友可以支持下作者哦,您的鼓励是我创作的最大动力,如有开发问题可联系作者

    2024年02月13日
    浏览(12)
  • 小程序View点击响应传递多个参数

    小程序开发中,view的点击事件是通过bindtap绑定的,比如: 在js文件中是这样获取参数id的: 如果要传递多个参数,就要用到data-xxx属性了,xxx的意思是这个名称可以随便取: 打印一下传递到js的数据,会看到一个json格式的数据: 所以我们要获取点击的参数,可以这样写:

    2024年04月14日
    浏览(6)
  • @RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)

    @RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)

    目录 一、@RequestMapping  路由映射 二、参数传递 1、传递单个参数 2、传递多个参数 3、传递对象 4、后端参数重命名 5、传递数组 6、传递集合 7、传递JSON 8、获取url中的参数 9、上传图片/文件 指定请求访问的路径 既可以修饰类,又可以修饰方法 @RequestMapping支持Get、Post、Dele

    2024年02月04日
    浏览(16)
  • json数据、日期数据的参数传递及响应

    json数据、日期数据的参数传递及响应

    首先在maven中添加json坐标 1.1 postman如何发送json数据 1.2 发送json数据,控制器如何接收 在springMVC配置文件中开启@EnableWebMvc才可以将json数据转换成各种对象数据,作用就是根据传参类型匹配对应的类型转换器 @RequestParam与@RequestBody注解之间的区别 2.1 日期类型参数如何指定格式

    2024年02月11日
    浏览(13)
  • Spring MVC 参数传递和JSON数据处理

    Spring MVC 参数传递和JSON数据处理

    编写controller 在index.jsp里面定义超链接 编写controller 在index.jsp里面定义超链接 编写controller 在index.jsp里面定义超链接 springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置,只需引入以下类库springmvc就可以处理json数据: @RequestBody:作用是接收前端aja

    2024年01月24日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包