服务间调用时,使用post请求传递parameters,超出最大默认值1000
报错:The number of parameters exceeded the maximum of 1000
解决:
1、适用于SpringBoot2.x之前的版本
// undertow容器 以及 undertow的配置方法
@Bean
public UndertowEmbeddedServletContainerFactory undertowEmbeddedServletContainerFactory() {
UndertowEmbeddedServletContainerFactory undertowFactory = new UndertowEmbeddedServletContainerFactory();
undertowFactory.addBuilderCustomizers(builder -> {
builder.setServerOption(UndertowOptions.MAX_PARAMETERS, 10000);
});
return undertowFactory;
}
2、适用于SpringBoot 2.x之后的版本
//1、新建类
public class CustomUndertowWebServerFactoryCustomizer extends UndertowWebServerFactoryCustomizer {
public CustomUndertowWebServerFactoryCustomizer(Environment environment, ServerProperties serverProperties) {
super(environment, serverProperties);
}
@Override
public void customize(ConfigurableUndertowWebServerFactory factory) {
super.customize(factory);
factory.addBuilderCustomizers((builder) -> builder
.setServerOption(UndertowOptions.MAX_PARAMETERS, 10000));
}
}
//2、创建配置类,也可以在任何spring管理的类里面加入
@Component
public class UndertowConfig {
// 方法一
// @Bean
// public UndertowServletWebServerFactory undertowServletWebServerFactory() {
// UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory();
// factory.addBuilderCustomizers((builder)->{
// builder.setServerOption(UndertowOptions.MAX_PARAMETERS, 5000);
// });
// return factory;
// }
// 方法二
@Bean
@Primary
public CustomUndertowWebServerFactoryCustomizer customUndertowWebServerFactoryCustomizer(Environment environment, ServerProperties serverProperties) {
return new CustomUndertowWebServerFactoryCustomizer(environment, serverProperties);
}
}