Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Axios Post/Spring@RequestParam错误-“;“请求标头太大”; 我使用axios post调用将大约1500个整数的整数数组从react前端传递到Spring boot后端。_Java_Reactjs_Spring_Spring Boot_Axios - Fatal编程技术网

Java Axios Post/Spring@RequestParam错误-“;“请求标头太大”; 我使用axios post调用将大约1500个整数的整数数组从react前端传递到Spring boot后端。

Java Axios Post/Spring@RequestParam错误-“;“请求标头太大”; 我使用axios post调用将大约1500个整数的整数数组从react前端传递到Spring boot后端。,java,reactjs,spring,spring-boot,axios,Java,Reactjs,Spring,Spring Boot,Axios,当调用时,我得到以下错误:java.lang.IllegalArgumentException:请求头太大 我真的不知道问题是什么,也不知道如何解决。我所要做的就是从前端检索这个数字列表并遍历它们&在后端打印它们(现在)。如果你知道一个更简单的方法,请随时启发我 多谢各位 这是我的前端代码: 这是我的后端代码: 理论上,您的解决方案的工作原理与描述URI和查询字符串的RFC没有限制。不幸的是,这不是它的实现方式 客户机或服务器都可以施加限制。关于客户的限制有一个很好的解释。我不熟悉react

当调用时,我得到以下错误:
java.lang.IllegalArgumentException:请求头太大

我真的不知道问题是什么,也不知道如何解决。我所要做的就是从前端检索这个数字列表并遍历它们&在后端打印它们(现在)。如果你知道一个更简单的方法,请随时启发我

多谢各位

这是我的前端代码:



这是我的后端代码:

理论上,您的解决方案的工作原理与描述URI和查询字符串的RFC没有限制。不幸的是,这不是它的实现方式

客户机或服务器都可以施加限制。关于客户的限制有一个很好的解释。我不熟悉react的限制,因为我主要关注后端,您必须自己研究。 当您使用Spring时,通常有两个服务器:Tomcat和Netty。它们都限制了url的长度。Tomcat限制在,Netty限制在。1500个整数的列表可以超过这些限制

您必须为后端设置一个新的限制(对于Tomcat,链接描述了这一点,对于Netty,我从未尝试过),并希望前端不会暴露任何限制

或… 您可以使用
@RequestBody
并将该信息添加到正文中

示例():

@PostMapping(“/request”)
公共响应后控制器(
@请求主体登录信息(登录信息){
curl-i\
-H“接受:应用程序/json”\
-H“内容类型:应用程序/json”\
-X POST——数据
“{”用户名“:”约翰尼“,”密码“:”密码“}”https://localhost:8080/.../request"

我将使用
@RequestBody
而不是为此类数据设计的查询参数。

您应该覆盖application.properties或application.yml文件中的默认
最大http头大小

嵌入式tomcat的最大http头的默认值为8kb

只需将其粘贴到后端服务器中的application.properties文件:

server.max-http-header-size=50000
这将覆盖默认的8kb允许标头,最大值为50kb。
此外,请检查您的http头请求在服务器端包含哪些内容。

理论上,头长度没有限制。但是,web服务器有限制是合乎逻辑的。我相信您使用的是tomcat作为后端服务

Tomcat默认值为4k。克服此错误的方法主要有两种:

  • 要将tomcat配置为接受更多(新限制):
  • 或者添加
    服务器。最大http头大小=65536
  • 也请检查此链接:


    注意:Imho,最好将主体用于如此大小的输入,而不是调整服务器或为此添加额外属性。

    使用“网络”选项卡检查标题并找出其大小。数字数组本身似乎是一个问题,这是一个请求参数,而不是标题。