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

devtools/2024/10/20 23:34:48/

1、简单参数

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

java">@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

java">@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接收即可

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

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

postman请求:

2、复杂实体对象

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

 postman请求:

3、数组参数

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

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

postman请求:

4、集合参数

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

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

postman请求:

5、日期参数

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

java">@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获取路径参数

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

postman请求:

多个路径参数:

java">@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.ppmy.cn/devtools/127409.html

相关文章

Facebook的全球化战略:如何连接不同文化与市场?

Facebook&#xff0c;作为全球最大的社交媒体平台之一&#xff0c;其全球化战略的成功不仅在于技术创新&#xff0c;还在于深刻理解并尊重不同文化和市场的差异。自2004年创立以来&#xff0c;Facebook通过多种策略&#xff0c;不断拓展其在世界各地的影响力。本文将探讨Facebo…

分布式数据库环境(HBase分布式数据库)的搭建与配置

分布式数据库环境&#xff08;HBase分布式数据库&#xff09;的搭建与配置 1. VMWare安装CentOS7.9.20091.1 下载 CentOS7.9.2009 映像文件1.2启动 VMware WorkstationPro&#xff0c;点击“创建新的虚拟机”1.3在新建虚拟机向导界面选择“典型&#xff08;推荐&#xff09;”1…

chat_gpt回答:python使用writearray写tiff速度太慢,有什么快速的方法吗

如果你在使用 Python 的 tifffile 库&#xff08;或类似库&#xff09;写入 TIFF 文件时速度太慢&#xff0c;以下是几个加速写入的优化方法和替代方案&#xff1a; 1. 优化文件压缩设置 TIFF 支持压缩格式&#xff0c;但压缩过程可能非常耗时。如果你不需要压缩&#xff0c;…

科研绘图系列:R语言柱状图(histogram)

文章目录 介绍加载R包数据画图系统信息介绍 柱状图(Bar Chart),也称为条形图(Bar Graph),是一种常用的统计图表,用于展示不同类别的数据量。它由一系列垂直或水平的条形组成,每个条形的长度或高度代表相应类别的数值大小。 加载R包 library(tidyverse)# 显示中文 li…

linux命令复习

vim分为命令行模式&#xff0c;编辑模式&#xff0c;转义命令&#xff08;需要输入&#xff1a;&#xff09;模式 退出vim &#xff08;在转义命令模式下&#xff09; 退出vim &#xff1a;w保存&#xff1a;wq保存并退出&#xff1a;q不保存并退出&#xff1a;q!强制退出&…

vue 音频播放控件封装

<template> <div> <audio @timeupdate="updateProgress" controls ref="audioRef" style="display: none" > <source :src="audioUrl" type="audio/mpeg" /> 您的浏览器不支持音频播放 </audio&…

qt项目使用其他项目的ui之单继承之成员变量

第一步添加.ui文件 第二步&#xff0c;点击编译(原理&#xff1a;qt的uic会将.ui界面编译成c文件) 第三步&#xff1a;在编译后的目录下找到#include “ui_pagewidget.h” 第四步&#xff1a; #ifndef USA_H #define USA_H#include <QWidget>#include "ui_pagew…

【力扣打卡系列】滑动窗口与双指针(乘积小于K的子数组)

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为go&#xff0c;Day6 乘积小于K的子数组 题目描述解题思路 双指针移动&#xff0c;遍历右端点right&#xff0c;滑动左端点left子数组的个数&#xff1a;固定右端点r&#xff0c;子数组的个数其实就是从l到r的元…