【SpringMVC篇】5种类型参数传递&&json数据传参

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

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


【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
在Web项目开发中,如何获取客户端传来的参数是非常重要的功能。SpringMVC提供了全面灵活的请求参数绑定机制,大大简化了参数处理。

本文将全面介绍SpringMVC的参数绑定功能。我们将学习获取基本类型参数、POJO参数、数组参数、集合参数的配置方法。SpringMVC自动将请求参数映射到处理方法的入参对象上,避免了我们手动解析request的繁琐。

更强大的是,SpringMVC还提供对JSON数据的自动转换支持。我们只需使用@RequestBody注解,就可以将JSON参数解析为目标对象。这种低侵入性的处理方式,令接口开发极为顺畅。

本文还将介绍对参数转换、格式化、校验的支持,让参数绑定更加丰富。这些知识点在实战项目中都大量应用,是掌握SpringMVC的基础。下面让我们深入学习,如虎添翼!

我们继续使用上一篇文章“探索请求映射路径,Get请求与Post请求”的代码

🌺普通参数

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

接收成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
运行成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

🌺嵌套pojo参数

适用于下面这种,可以反复写
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

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

继续测试
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

运行成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

🌺数组参数

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
运行成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

🌺集合参数

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
运行成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

🎄json数据传参

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

这里选择json,在下面写入数据
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

发现可以运行成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

🛸嵌套json格式

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

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
运行成功

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

🛸集合格式

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

如果报错,重启一下就好了
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java

【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
运行成功
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java
通过本文的学习,我们已经掌握了SpringMVC中多种参数获取和绑定的方式,这将帮助我们轻松实现接口的参数传递。当然实际应用中,我们还要注意安全性、效率、规范性等方面的优化。

SpringMVC参数绑定只是冰山一角,还有数据校验、全局处理、拦截器等知识点需要继续深入学习。此外,实际项目中可能还需要处理复杂业务场景。如果各位同学有任何疑问,请在评论区与我留言讨论。持之以恒,我们一定能成为SpringMVC的掌握者!
【SpringMVC篇】5种类型参数传递&&json数据传参,SpringMVC,springmvc,框架,spring,java文章来源地址https://www.toymoban.com/news/detail-738503.html

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

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

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

相关文章

  • 【SpringMVC】参数传递与用户请求和响应

    目录 一、Postman 工具使用 1.1 Postman安装 1.2 Postman的使用 1.2.1 创建WorkSpace工作空间 1.2.2 创建请求   二、参数传递 2.1 添加 Slf4j 依赖 2.2 普通传参 知识点1:@RequestMapping 知识点2:@RequestParam 2.3 路径传参 知识点3:@PathVariable 2.4 Json数据传参  知识点4:@RequestBody   三、响应 3.1 响

    2024年02月09日
    浏览(44)
  • SpringMVC的常用注解,参数传递以及页面跳转的使用

    目录 slf4j 常用注解 @RequestMapping @RequestParam @RequestBody @PathVariable 参数传递  首先在pom.xml配置文件中导入SLF4J的依赖 基础类型+String   复杂类型 @RequestParam @PathVariable @RequestBody  增删改查  返回值 void返回值  String返回值 model+String   页面跳转 --转发和重定向 SLF4J,简单日志门面

    2024年02月09日
    浏览(41)
  • SpringMVC进阶:常用注解、参数传递和请求响应以及页面跳转

    目录 一、常用注解 1.1.@RequestMapping 1.2.@RequestParam 1.3.@ModelAttribute 1.4.@SessionAttributes 1.5.@RequestBody 1.6.@RequestHeader 1.7.@PathVariable 1.8.@CookieValue 二、参数传递 2.1.基础类型+String 2.2.复杂类型 2.3.@RequestParam 2.4.@PathVariable 2.5.@RequestBody 2.6.@RequestHeader 三、返回值 3.1.void 3.2.String 3.3.String+Mod

    2024年02月09日
    浏览(38)
  • 【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤

    目录 引言 一、常用注解 1.1.@RequestMapping 1.2.@RequestParam 1.3.@RequestBody 1.4.@RequestHeader 1.5.@PathVariable 二、参数传递 2.1.基础类型+String 2.2.复杂类型 2.3.@RequestParam 2.4.@PathVariable 2.5.@RequestBody 2.6.@RequestHeader 三、返回值 3.1.void 3.2.String 3.3.String+Model 3.4.ModelAndView 四、页面跳转 4.1.转发forw

    2024年02月09日
    浏览(36)
  • SpringMVC项目请求(JSON数据传输参数)

    现在比较流行的开发方式为异步调用。前后台以异步方式进行交换,传输的数据使用的是 JSON ,所以前端如果发送的是JSON数据,后端该如何接收? 对于JSON数据类型,我们常见的有三种: json普通数组([“value1”,“value2”,“value3”,…]) json对象({key1:value1,key2:value2,…}) json对象

    2023年04月18日
    浏览(41)
  • SpringMVC入门的注解、参数传递、返回值和页面跳转---超详细教学

    @RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上。 标注在方法上 用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法 此时请求映射所映射的请求的请求路径为: http://localhost:8080/springmvc0

    2024年02月09日
    浏览(41)
  • postman进行post、get参数传递及中文乱码和各类型参数传递和json格式传参和日期型参数传递和响应数据传回

    postman是一种测试工具 用postman直接在其上输入参数名和参数值就行,不用区分post和get请求方法,当然java代码要改变一点,在响应注解的方法里面添加和postman中输入的参数名一样的形参 get请求: 代码:注意在响应注解的方法里面新添加了形参,其就对应着上面图片中的参数

    2024年02月07日
    浏览(54)
  • 【Spring教程28】Spring框架实战:从零开始学习SpringMVC 之 请求与请求参数详解

    欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》,本文的上一篇为《PostMan工具的安装与使用技巧》 前面我们已经完成了入门案例相关的知识学

    2024年02月03日
    浏览(69)
  • SpringMVC传递数据给前台

    SpringMVC有三种方式将数据提供给前台 第一种 使用Request域 第二种 使用Model(数据默认是存放在Request域中) 与第一种方式其实是一致的 第三种 使用Map集合(数据默认是存放在Request域中)

    2024年01月21日
    浏览(30)
  • SpringMVC数据传递及数据处理

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

    2024年02月01日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包