You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot接收超5MB String请求后前端无法接收响应问题排查

问题定位及解决方案

核心问题出在Spring Boot的请求体大小限制配置不完整,而非React端,以下是具体分析和修复步骤:

1. 为什么server.tomcat.max-http-post-size=10无效?

这个配置仅管控Tomcat层面的POST请求大小,但你设置的10默认单位是字节,相当于只允许10字节的请求体,完全不符合需求。正确写法需指定单位(比如10MB),但即便改对这个配置也不够——Spring MVC自身还有默认约5MB的请求体大小限制,这才是拦截大请求的关键。

2. 完整的Spring Boot配置修复

需要同时配置Spring MVC和Tomcat的请求大小限制,在application.properties中添加:

# Spring MVC层面的请求体最大限制(覆盖普通POST和文件上传场景)
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB

# Tomcat层面的POST请求大小限制
server.tomcat.max-http-post-size=10MB

若使用YAML配置:

spring:
  servlet:
    multipart:
      max-request-size: 10MB
      max-file-size: 10MB
server:
  tomcat:
    max-http-post-size: 10MB

注:Spring Boot 1.x版本需将spring.servlet.multipart替换为spring.http.multipart。

3. 如何排除React端问题?

用Postman或curl直接调用接口,传入超过5MB的请求体:

  • 如果工具能收到响应(比如413错误或正常返回),再排查React的请求配置(比如是否设置了过短的超时时间);
  • 如果工具也收不到响应,说明后端配置仍有问题,需检查是否有自定义拦截器、过滤器拦截了大请求。

额外提示

如果你的Controller中使用@RequestBody String接收请求体,确保没有额外的全局拦截器对请求体大小做二次限制。

内容的提问来源于stack exchange,提问作者Jill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:47:19