首页 > 解决方案 > 当我发送大于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 序列化有限制。

标签: javaspring-bootspring-mvc

解决方案


您超过了默认的 http-header-size(8kb),您可以使用合适的数字配置您的 server.max-http-header-size


推荐阅读