关于SpringBoot参数接收的细节及tomcat对POST请求大小的限制
1 关于POST请求
POST附带的数据,常用的传参方式为Form Data和Requet Payload
Form Data形式:
即:当POST请求头中的Content-Type:application/x-www-from-urlencoded(默认),参数以标准的From Data形式提交,以&符号拼接
后端对应使用request.getParameter(name)获取参数
Requet Payload形式:
使用AJAX原生POST请求,请求头里设置Content-Type:application/json,请求的参数会显示在Request Payload中,参数格式为JSON格式
后端对应使用getRequestPayload方法获取参数
2 关于@RequestParam
@RequestParam
POST和GET均可使用
@RequestParam相当于整合了 request.getParamter(String s)和request.getparamterMap()两个方法的功能
只用于接收From Data形式提交的参数
3 关于@RequestBody
只可用于POST请求,GET请求不支持(因为GET请求没有HttpEntity)
只能绑定一个对象实体
只能有一个@RequestBody
4 当使用@RequestParam使用Form Data形式提交数据后,后端依然接收不到数据报400错误的解决
当排除注解使用错误,和Content-Type设置错误后,依然接收不到参数报400错误时,就要考虑tomcat对POST请求大小的限制
SpringBoot在配置文件中配置server.tomcat.max-http-form-post-size配置项,默认2MB大小限制
server.tomcat.max-http-form-post-size=-1//不做大小限制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具