Springboot接收http参数总结(最简单易懂)

1. 前端能携带请求参数的地方

http请求一半前端请求参数放在三个地方:请求头,请求查询参数(Query String),请求体。

请求体需要获取HttpServletRequest对象才能获取。

2. 请求体常见格式

而请求体中可以存放多种格式的数据,前端通过发送的请求头参数content-type来表示自己放在请求体中参数的格式是什么。一般常见的也有三种:form-data,x-www-form-urlencoded,application/json。

还有很多很多中请求体格式,但是其他格式很少使用,本文也会对其如果接收进行总结。

3. 什么时候用@RequestBody

如果接收的是请求体,并且请求体是application/json就用@RequestBody注解。

4. @RequestParam

如果接收请求查询参数(url)或者请求体(form-data或x-www-form-urlencoded)格式,那么可以直接用相同名称请求参数对象去接收,或者用javabean去接收。如果接收的对象和请求的参数名不相同,就需要用@RequestParam来指定需要接收哪个。

5. 例子

同时接收请求体和请求查询参数(Query String),并且同时使用javabean和string来接收querystring。


接收正常,

6. 总结

  1. 接收json类型的请求体就在接收参数上加@RequestBody。
  2. 其他情况直接用自定义对象或者内置数据类型对象不用加注解接收,如果需要指定接收哪个参数,就加@RequestParam。
  3. 如果你的参数中有HttpServletRequest类型的参数,也会被自动注入。通过HttpServletRequest对象可以获取请求的所有内容,包括请求头,请求查询参数(url),请求体。

7. 接收请求体类型为application/octet-stream

application/octet-stream表示请求体内容为二进制数据,没有键值对。类似于直接读取文件流。

直接通过httpServletRequest.getInputStream()获取请求体的流。

相关推荐
q***69775 小时前
【Spring Boot】统一数据返回
java·spring boot·后端
v***59835 小时前
DeepSeek API 调用 - Spring Boot 实现
windows·spring boot·后端
Hollis Chuang5 小时前
Spring Boot 4.0 正式发布,人麻了。。。
java·spring boot·后端·spring
Mu.3876 小时前
计算机网络模型
网络·网络协议·计算机网络·安全·http·https
Moshow郑锴6 小时前
实战分享:用 SpringBoot-API-Scheduler 构建 API 监控闭环 —— 从断言验证到智能警报
java·spring boot·后端·任务调度
我有一棵树6 小时前
file 协议与 http 协议的区别:为什么本地 HTML 无法加载相对路径 JS,以及正确的解决方式
javascript·http·html
金融数据出海6 小时前
日本股票市场渲染 KlineCharts K 线图
前端·后端
1***t8276 小时前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
疯狂的程序猴7 小时前
iOS 日志管理的工程化实践 构建从开发调试到系统日志分析的多工具协同体系
后端
申阳7 小时前
Day 17:03. 基于 Tauri 2.0 开发后台管理系统-登录页面开发
前端·后端·程序员