当前位置: 首页 > news >正文

SpringMvc(二、请求传参

一、常见参数种类

  • 普通参数
  • 实体类参数
  • 嵌套实体类参数
  • 数组类型参数
  • 集合类型参数 

 

1,普通参数

    /**
     * 直接用形参传递即可,若请请求参数和形参名称不同,用@RequestParam(value)指定
     * @return
     */
    @ResponseBody
    @RequestMapping("/add")
    public String add(@RequestParam("username") String name,String city){
        System.out.println("普通参数传递测试...."+name+"\t"+city);
        return "{'model':'springMvc'}";
    }

 

注解:@RequestParam 

作用:绑定请求参数和处理器形参名称绑定关系

参数:required:是否为必传参数        defaultValue:参数默认值

 

2,实体类参数 

形参直接传递实体类即可

    /**
     * 实体类参数传递
     * @return
     */
    @ResponseBody
    @RequestMapping("/add")
    public String add(Address address){
        System.out.println("实体类参数传递...."+address);
        return "{'model':'springMvc'}";
    }

 

3,嵌套实体类参数

 

    /**
     * 实体类嵌套传递
     * @return
     */
    @ResponseBody
    @RequestMapping("/add")
    public String add(User user){
        System.out.println("实体类嵌套参数传递...."+user);
        return "{'model':'springMvc'}";
    }

 

4,数组类型参数 

    /**
     * 数组类型参数传递
     * @return
     */
    @ResponseBody
    @RequestMapping("/add")
    public String add(String[] likes){
        System.out.println("数组类型参数传递...."+likes);
        return "{'model':'springMvc'}";
    }

 

 5,集合参数传递

    /**
     * 集合类型参数传递
     * @return
     */
    @ResponseBody
    @RequestMapping("/add")
    public String add(@RequestParam List<String> likes){
        System.out.println("实体类参数传递...."+likes);
        return "{'model':'springMvc'}";
    }

 

注意:

需要对集合指定@RequestParam注解

否则编译器会认为List是引用类型去调用List的构造函数

二、JSON参数传递 

  • json数组
  • json对象(POJO)
  • json数组对象(POJO)

1,在pom文件添加 fastjson 或 jackson

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.62</version>
    </dependency>

<!--    <dependency>-->
<!--      <groupId>com.fasterxml.jackson.core</groupId>-->
<!--      <artifactId>jackson-databind</artifactId>-->
<!--      <version>2.9.0</version>-->
<!--    </dependency>-->

2,修改SpringMvc配置类 

 

注解:@RequestBody

作用:将请求中请求体所包含的数据传递给请求参数,一个方法只能使用一次

参数:required:是否为必传参数        defaultValue:参数默认值

 

三、@RequestParam和@RequestBody

 

  • 区别
    • @RequestParam用于地址栏url的参数传递
    • @ReuqestBody用于接收json数据
  • 应用
    • 后期开发中,主要发送json数据,@RequestBody使用更多
    • 若发送普通数据,选用@RequestParam

 

 

 

 

               

相关文章:

  • [如何编译openGauss对应版本的wal2json.so]
  • 计算方法/数值分析 期末复习整理
  • makefile(详细讲解)
  • Java递归实现迷宫问题和八皇后
  • 软件测试面试题及答案,2022最强版
  • 2.采药-01背包
  • 语法基础(函数)
  • 这几个小插件助你快速提升工作效率
  • Java毕业设计-校园活动赞助与宣传管理系统
  • APS智能排产帮助企业做好生产管理
  • 基于数字孪生的管道数字化平台建设要点
  • Ubuntu系统下安装OpenCV,pytorch,TensorFlow教程
  • shell脚本之数组
  • 智能人体存在感知方案,毫米波雷达感应器成品,智能化感知联动应用
  • 主流跨域方式解析!
  • 【译】JS基础算法脚本:字符串结尾
  • golang 发送GET和POST示例
  • HTML中设置input等文本框为不可操作
  • Java读取Properties文件的六种方法
  • spring-boot List转Page
  • vue2.0项目引入element-ui
  • 多线程事务回滚
  • 力扣(LeetCode)357
  • 使用parted解决大于2T的磁盘分区
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 我是如何设计 Upload 上传组件的
  • 项目管理碎碎念系列之一:干系人管理
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .NET中的Exception处理(C#)
  • :中兴通讯为何成功
  • @ComponentScan比较
  • @property python知乎_Python3基础之:property
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [JavaWeb学习] Spring Ioc和DI概念思想
  • [JS]变量
  • [linux] Key is stored in legacy trusted.gpg keyring
  • [Linux](16)网络编程:网络概述,网络基本原理,套接字,UDP,TCP,并发服务器编程,守护(精灵)进程