java - 当我发送大于1M的json字符串时,如何解决Spring MVC中的org.springframework.web.bind.MissingServletRequestParameterException?
问题描述
我使用 Spring MVC @RequestParam 接受表单。我是一个包含 json 字符串的表单,当 json 字符串大于 1M 时,它是
{
"timestamp":1556663224346,
"status":400,
"error":"Bad Request",
"exception":"org.springframework.web.bind.MissingServletRequestParameterException",
"message":"Required String parameter 'corpId' is not present",
"path":"/api/test"
}
@RequestMapping(value = "/test", method = RequestMethod.POST, produces = { "application/json;charset=UTF-8" })
@ResponseBody
public String test(
@ApiParam(required = true, value = "json string") @RequestParam(required = true) String content)
我认为这是因为 HttpMessageConvert 无法转换它或者它对 Json 序列化有限制。
解决方案
您超过了默认的 http-header-size(8kb),您可以使用合适的数字配置您的 server.max-http-header-size
推荐阅读
- apache-spark - 使用 Spark Structured Streaming 检索图形信息
- c# - Azure Blob Storage SDK 12 通过 GZipStream 压缩文件不起作用
- python - 如何使用 Python API 在 Google Docs 中找到子字符串的 startIndex
- java - gradle 无法定位平台:'Java SE 11' 使用工具链:'JDK 8 (1.8)'
- node.js - 为离线分发捆绑 NPM 模块(具有所有依赖项)
- reactjs - React:如何从登录页面到重定向页面进行身份验证?
- c# - 如何编写sql可转换表达式
- javascript - 使用角度 9 进行路由延迟加载
- node.js - 发送来自表单数据的图像和来自邮递员的 JSON 数据用于节点 js
- node.js - 如何在不使用官方 MongoDB Node.js 驱动程序的情况下使用本机 nodejs 连接到 mongodb 数据库?