【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上传方式

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

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

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

    2024年02月13日
    浏览(39)
  • 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日
    浏览(45)
  • Json数据传递参数

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

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

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

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

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

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

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

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

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

    2024年02月11日
    浏览(52)
  • 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日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包