http请求,结合springboot

ops/2025/1/16 0:45:42/

目录

简单参数&实体参数

get请求

post请求

简单参数&实体参数【总结】

springboot中接受简单参数

@RequestParam注解

实体参数接收

数组集合参数 

数组接收

集合接收 

数组集合参数 【总结】 

日期参数请求

JSON参数请求

路径参数请求

所有请求参数类型总结

简单参数

实体参数

数组集合参数

日期参数

JSON参数

路径参数


简单参数&实体参数

get请求

请求url:

http://localhost:8080/simpleParam?name=Tom&age=10

代码:

1、如果方法形参名称与请求参数名称匹配,可以直接完成映射,使用以下代码即可(推荐:利于统一)

@RequestMapping("/simpleParam")

public String simpleParam(String name,Integer age) {

        System.out.println(name+":"+age)

        return "OK";

}

2、如果方法形参名称与请求参数名称不匹配,可以使用@RequestParam完成映射(不推荐,不利于统一)

RequestParam注解:

        name:属性用于别名处理,将请求的携带name的信息映射到username;

        required:定义这个参数是否必须通过请求携带,若是为true,请求时不携带,则报错。

@RequestMapping("/simpleParam")

public String simpleParam(@RequestParam(name="name") String username,Integer age) {

        System.out.println(name+":"+age)

        return "OK";

}

请求输出结果

Tom:10

post请求

请求url:

http://localhost:8080/simpleParam

//表单中携带参数 

简单参数&实体参数【总结】

springboot中接受简单参数

请求参数名与方法形参变量名相同

会自动进行类型转换

@RequestParam注解

方法形参名与请求参数名称不匹配,通过该注解完成映射

该注解的required属性默认是true,代表请求参数必须传递

实体参数接收

适用场景:一般用于传的参数较多,请求参数名也必须和实体中的变量名一致,可以定义一个实体类进行接收,其中实体类,可以继续嵌套实体

实体类

@Data

public class User {

        public String name;

        public Integer age;

}

接口

@RequestMapping("/simpleParam")

public String simpleParam(User user) {

        System.out.println(user)

        return "OK";

}

数组集合参数 

适用场景:复选框提交数据

get请求的url

http://localhost:8080/arrayParam?hobby=game&hobby=java&hobby=sing

数组接收

接口:

@RequestMapping("/arrayParam")

public String simpleParam(String [] hobby) {

        System.out.println(Arrays.toString(hobby))

        return "OK";

}

集合接收 

接口:

@RequestMapping("/list")

public String simpleParam(@RequestParam List<String> hobby) {

        System.out.println(Arrays.toString(hobby))

        return "OK";

}

//@RequestParam:加这个注解才可以将多个请求参数封装到List集合中

数组集合参数 【总结】 

数据:请求形参名与形参中数组变量名相同,可以直接使用参数封装

集合:请求参数名与形参中集合变量名相同,可以通过@RequestParam绑定参数关系

日期参数请求

get请求的url

http://localhost:8080/dateParam?2024-04-28 12:10:30

接口:

@RequestMapping("/dateParam")

public String dateParam(@DateTimeFormat(pattern="yyy-MM-dd HH:mm:ss") LocalDateTime updateTime) {

        System.out.println(updateTime)

        return "OK";

}

//@DateTimeFormat注解:指定时间参数传递的格式

JSON参数请求

场景:我们发送一个请求,并且以json数据的格式请求,请求方式需要设置为POST请求,因为JSON数据是要放在请求体中,携带给服务器端的,接收json数据,一般通过实体对象进行接收。

JSON参数:JSON数据键名与形参对象属性名相同,定义实体类型形参即可接收参数,需要使用@RequestBody标识(作用:将JSON请求格式的数据封装到实体对象中)

请求的json数据:

{     

        "name":"TOM",

        "age":10,

        "address":"江苏"

}

接口:

@RequestMapping("/jsonParam")

public String dateParam(@RequestBody User user) {

        System.out.println(user)

        return "OK";

}

@RequestBody标识(作用:将JSON请求格式的数据封装到实体对象中)

路径参数请求

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

 @PathVariable注解:将获取的路径参数,绑定给方法的形参

get请求url

http://localhost:8080/path/1

接口:

@RequestMapping("/path/{id}")

public String dateParam(@PathVariable Integer id) {

        System.out.println(id)

        return "OK";

}

//路径参数也可以接收多个,声明多个形参即可

所有请求参数类型总结

简单参数

定义方法形参,请求参数名与形参变量名一致

若是不一致:通过@RequestParam注解手动映射

实体参数

请求参数名,与实体对象的属性名一致,会自定接收封装

数组集合参数

数组:请求参数名与数组名一致,直接封装

集合:请求参数名与集合名一致,@RequestParam绑定关系

日期参数

@DateTimeFormat注解:给定请求日期的格式

JSON参数

@RequestBody注解:将请求的json格式的数据直接映射到实体对象上

路径参数

@PathVariable注解:请求的参数是在路径上携带的,可以通过该注解获取


http://www.ppmy.cn/ops/27510.html

相关文章

mac用Homebrew安装MySQL并配置远程登录

1. 简介 MySQL 是一个开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典 MySQL AB 公司开发&#xff0c;后被 Oracle 公司收购。MySQL 使用 SQL&#xff08;Structured Query Language&#xff09;作为查询语言&#xff0c;并提供了强大的功能和性能…

【linux学习指南】linux 环境搭建

文章目录 &#x1f4dd;前言&#x1f320; 云服务器的选择&#x1f320;阿里云&#x1f320;腾讯云&#x1f320;华为云 &#x1f320;使用 XShell 远程登陆到 Linux&#x1f309;下载 XShell &#x1f320;查看 Linux 主机 ip&#x1f309; XShell 下的复制粘贴&#x1f309; …

嵌入式学习63-C++

知识零碎&#xff1a; newmalloc friend 友元函数 …

线上线下交友社区系统,支持打包小程序/公众号/H5,源码交付!

上网交友的好处有很多&#xff0c;以下是一些主要的好处&#xff1a; 1. 拓展人际关系&#xff1a;通过上网交友可以认识更多的人&#xff0c;拓展自己的社交圈。这有助于扩大自己的视野、增加人生经验和开阔心胸。 2. 找到志同道合的朋友&#xff1a;在网络上&#xff0c;我们…

http和https 所有的请求头信息

http 所有的请求头信息 HTTP请求头信息包含了客户端向服务器发送请求时附带的各种细节信息,帮助服务器更好地处理请求。这些头部字段多种多样,用于说明请求的各个方面,如客户端信息、请求的内容类型、缓存策略等。以下是一些常见的HTTP请求头字段,但请注意,这并非所有可能…

Elasticsearch索引状态管理实战指南

在维护Elasticsearch集群的过程中&#xff0c;有效地管理索引状态对于确保系统性能、节省资源以及优化数据处理流程至关重要。本文将深入介绍Elasticsearch提供的关键索引管理操作&#xff0c;包括清空缓存、刷新索引、冲洗索引、强制合并、关闭索引及冻结索引等&#xff0c;帮…

el-form 表单设置某个参数非必填验证

html <el-form ref"form" :rules"rules"><el-form-item prop"tiktokEmail" label"邮箱" ><el-input v-model"form.tiktokEmail" placeholder"邮箱" ></el-input></el-form-item&…

LLM长度外推——位置插值(llama/baichuan)

位置插值(position Interpolation, PI)通过将超出训练长度的位置索引等比例缩小&#xff0c;映射到模型已经学习的位置范围内&#xff0c;实现长度外推。 好处是不用重新训练&#xff0c;直接在推理时加入。 llama的实现方式 论文提出 Extending Context Window of Large Lan…