一丶问题简述
在接口对接中, 因前端使用的From表单提交方式, 后台接收为List集合, 在数据量大于256条时, 出现下标越界的问题, 如下图所示:
二丶原因表述
Spring mvc框架封装中, 集合定义长度为: 256, 如图所示:
三丶解决方案
1丶自定义一个InitBinderController类, 重setAutoGrowCollectionLimit方法, 代码如下:
package com.ekxtech.web.common.config;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
/**
* @tagging: 解决前后端from表单交互List集合限制长度256的问题
* @author: seven_Change
* @date: 2022/08/12
*/
public class InitBinderController {
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.setAutoGrowNestedPaths(true);
binder.setAutoGrowCollectionLimit(Integer.MAX_VALUE);
}
}
2丶在所需要的接口类中去继承InitBinderController 即可, 例如:
目前解决方案就是这个, 全局配置还没测试成功, 等成功再跟大家分享, 大家知道如何配置, 也麻烦分享一下