@RequestMapping对不同参数的接收方式

news2025/1/19 13:16:04

1、简单参数

1、参数名与形参变量名相同,定义形参即可接收参数,且会自动进行类型转换。

@RequestMapping("/simple")
    public  String simpleParam(String name,int age){
        String username = name;
        int userAge = age;
        System.out.println(username+"========"+userAge);
        return  "OK";
    }

postman请求:

2、参数名与形参变量名不同,用requestParam

@RequestMapping("/simple2")
    public  String simpleParam2(@RequestParam(value = "name",required = false) String s_name, @RequestParam(name = "age") int s_age){
        String username = s_name;
        int userAge = s_age;
        System.out.println(username+"========"+userAge);
        return  "OK";
    }

postman请求:

注意:@RequestParam的required默认为true,也就是说用@RequestParam指定的参数是必传项,否则报错。

2、实体参数

1、简单实体对象

请求参数名与形参对象属性名相同,定义POJO接收即可

public class User {
    String name;
    int age;
        //省略get和set方法,toString()

}

@RequestMapping("/simplePojo")
    public String simplePojo(User user){
        System.out.println(user);
        return "OK";
    }

postman请求:

2、复杂实体对象

public class User {
    String name;
    int age;
    Address address;
}
public class Address {
    String province;
    String city;
}
@RequestMapping("/complexPojo")
public String complexPojo(User user){
    System.out.println(user);
    return "OK";
}

 postman请求:

3、数组参数

请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数

@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
    System.out.println(Arrays.toString(hobby));
    return "OK";
}

postman请求:

4、集合参数

请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系

@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
    System.out.println(hobby);
    return "OK";
}

postman请求:

5、日期参数

使用@DateTimeFormat注解完成日期参数格式转换

@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
    System.out.println(updateTime);
    return "OK";
}

 postman请求:

6、JSON参数

JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识

@RequestMapping("/jsonParam")
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return "OK";
    }

postman请求:

7、路径参数

通过请求URL直接传递参数,使用 {......}来标识该路径参数,需要使用@PathVariable获取路径参数

@RequestMapping("/path/{id}")
    public String pathParam(@PathVariable(value = "id") Integer id){
        System.out.println(id);
        return "OK";
    }

postman请求:

多个路径参数:

@RequestMapping("/path/{id}/{name}")
    public String pathParam(@PathVariable(value = "id") Integer id,@PathVariable String name){
        System.out.println(id);
        System.out.println(name);
        return "OK";
    }

postman请求:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

芝法酱学习笔记(0.7)——harbor与SpringBoot容器化docker部署

前言 之前我们主要讲的jar包部署。使用jar包部署可能导致不同服务互相争抢资源&#xff08;隔离性&#xff09;&#xff0c;不同服务可能需要不同的jdk环境&#xff0c;有时也会造成困扰。故在微服务时代&#xff0c;我们通常使用docker部署 一、docker安装 docke相关的知识…

Dev-C++萌新学习福利3

朝鲜球作品原创https://blog.csdn.net/2401_86502594?spm1011.2124.3001.5343 清北互联地址https://www.17ac.cn/#/ 萌新福利 作品成本6999元&#xff01;&#xff01;&#xff01; 清北互联团队编写课程&#xff0c;本人不收费。亏本买卖&#xff0c;良心服务&#xff0c;同嫂…

ASP.NET Core8.0学习笔记(二十)——EFCore导航属性与外键

一、什么是实体间关系 数据库表&#xff08;实体&#xff09;之间的关系&#xff1a;一对一&#xff08;学生-成绩&#xff09;、一对多&#xff08;学生-科目&#xff09;、多对多&#xff08;教师-班级&#xff09;。数据库中&#xff0c;每一个实体可以由主键唯一标识&…

自学1个月拿金奖!北交大学子分享昇腾AI原生创新算子挑战赛金奖之路

近年来在人工智能领域&#xff0c;算子开发的价值日益凸显&#xff0c;算子开发也受到越来越多年轻开发者的青睐。对于高校开发者&#xff0c;如何从零开始学习算子开发&#xff0c;提升软硬结合的AI开发能力&#xff1f;成功已举办两个赛季的昇腾AI原生创新算子挑战赛&#xf…

IDEA中的快捷键大全--超详细

目录 一、通用类型 1.1 图示 1.2 表格化 二、编写速度提升 2.1 图示 2.1.1 表格化 2.2 图示 2.2.1 表格化: 三、类结构,查找和查看源码 3.1 图示 3.2 表格化 四、查找,替换和关闭 4.1图示 4.2 表格化 五、调整格式 5.1 图示 5.2 表格化 六、快捷键的自主定义…

docker login 命令登录harbor镜像仓库(含报错)

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/02/02 14:10 执行登录命令&#xff1a;docker login -uadmin 192.168.43.106:8880 报错&#xff1a; Error response from daemon: Get "https://192.168.43.106:8880/v2/": http: server gave HTTP response t…

计组-CPU构成(运算器与控制器的组成)

整个计算机&#xff0c;由主机和外设2部分构成 计算机结构中&#xff1a; 主机&#xff08;这里的主机包含的部分远比我们主机箱里的部件要少&#xff09;&#xff1a;只包括2大部件&#xff0c;一个是CPU&#xff0c;一个是主存储器&#xff08;即我们平时说的内存&#xff…

专题1:方向导数与梯度

一、回忆偏导数 多元函数&#xff08;比如有x、y两个变量&#xff09;在某个点有两个偏导数&#xff0c;一个是关于x的偏导数&#xff0c;一个是关于y的偏导数。如下所示&#xff1a; 所谓偏导数&#xff0c;其实就是某点处函数在x的正方向或y的正方向上的变化率。从图像上来看…

JavaSE--全盘拿下数组的关键要领

嗨嗨大家~我来啦&#xff01;今天我们来进入数组的学习吧。 目录 一 数组的定义 1 创建数组 2 初始化数组 二 数组的使用 1 数组的访问 2 数组的遍历 2.1 for 循环打印 2.2 for-each 打印数组 三 数组是引用类型 3.1 JVM内存分布 3.2 区分基本类型与引用类型变…

线程相关知识点

一、线程 1.1 线程的概念 线程是轻量级的进程。 进程是分配资源的最小单位&#xff0c;线程是调度的最小单位。 线程不会单独分配内存空间&#xff0c;线程共用进程的资源。 线程之间通信比较方便&#xff0c;但是不安全。 多线程没有多进程安全。 多线程效率比较高。线程创建…

嵌入式学习-I/O-Day01

嵌入式学习-I/O-Day01 IO介绍 IO分类 文件IO 标准IO 标准IO的调用逻辑 标准IO缓存机制 标准IO的特点 * 流 定义 流的分类 流指针FILE * 缓存区的分类 * 全缓存—》基于文件 行缓存-》基于终端stdin/stdout 不缓存&#xff1a;stderr 标准IO的函数接口 ​​​​…

小白都来用这款AI绘画神器,IDEOGRAM2.0,轻松画出高质量图片

大家好&#xff01;我是宇航&#xff0c;一位喜欢AI绘画的10年技术专家&#xff0c;专注于输出AI绘画与视频内容 今天给大家介绍一款绝对的生图神器——Ideogram2.0! 不论你是AI小白&#xff0c;手残党还是资深玩家&#xff0c;无论你是做网页设计&#xff0c;电商&#xff0c…

React路由 基本使用 嵌套路由 动态路由 获取路由参数 异步路由 根据配置文件来生成路由

文章目录 React-router的三个版本react-router使用嵌套路由动态路由 获取路由参数Params参数Query参数Location信息 控制跳转地址异步路由根据配置文件生成路由 React-router的三个版本 React-router 服务端渲染使用React-router-dom 浏览器端渲染使用React-router-native Rea…

【STM32CubeMX开发】-2.2-TIM_输出一个PWM信号

目录 1 Tim定时器的时钟源 2 Tim定时器的配置 2.1 PWM配置 2.2 中断配置 3 生成代码 4 测试结果 结尾 1 Tim定时器的时钟源 TIM3的时钟来源自APB1 Timer clocks&#xff0c;时钟树上所有总线频率均设置为了STM32F0能达到的最高频率&#xff0c;此时APB1 Timer clocks …

【CTF Web】Pikachu ../../ Writeup(路径遍历)

目录遍历漏洞概述 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值(比如文件名称)传递到后台&#xff0c;后台再执行其对应的文件。 在这个过程中&a…

Diffusion model原理:李宏毅篇(1)

本文是对李宏毅老师相关视频的记录。视频连接:Diffusion Model数学原理(一) 1. 基本概念 slide注释有一个加噪的扩散过程和一个去噪生成图像的过程VAE与Diffusion model有类似的地方。Diffusion model加噪的过程可以看成是VAE的encoder,去噪的过程看成是VAE的decoder2. DD…

【Linux】信号(初版)

信号概念 信号是进程之间发送异步信息的一种方式 在Linux命令行中&#xff0c;我们可以通过ctrl c来终止一个前台运行的进程&#xff0c;其实这就是一个发送信号的行为。我们按下ctrl c是在shell进程中&#xff0c;而被终止的进程&#xff0c;是在前台运行的另外一个进程。…

[2024领航杯] Pwn方向题解 babyheap

[2024领航杯] Pwn方向题解 babyheap 前言&#xff1a; 当然这个比赛我没有参加&#xff0c;是江苏省的一个比赛&#xff0c;附件是XiDP师傅在比赛结束之后发给我的&#xff0c;最近事情有点多&#xff0c;当时搁置了一天&#xff0c;昨天下午想起来这个事情&#xff0c;才开始…

C++容器适配器1-基本使用(stack、queue)

###适配器意思是可以将一种不能用于某种场景的东西经过特殊转换&#xff0c;包装成一个新东西&#xff0c;这个新定西可以用于这个场景&#xff0c;并且还具有之前旧东西的功能作用&#xff1b; stack、queue就是C里面的容器适配器&#xff0c;这两个适配器堆vector和list两个…

前端进阶之路:推荐几本不可错过的前端开发书籍

前端开发是一个不断更新换代的领域&#xff0c;作为一名前端工程师&#xff0c;持续学习和提升自己是至关重要的。阅读专业书籍是系统学习前端知识的一种有效方式。以下是一些前端开发者不可错过的书籍推荐&#xff0c;帮助你巩固基础&#xff0c;拓宽视野&#xff0c;成为更优…