起因,算法服务在调用文件系统的接口的时候,发现有时候传递的base64接口参数file会偶尔丢失。
定位问题,偶尔丢失,怀疑是参数本身的问题,收集日志信息,观察没有丢失参数的现象,但是报错的日志总是提示file参数为空。所以去查了下springboot项目是否对post请求有大小或者长度限制。
解决:
1,外置的tomcat
修改server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="2000" redirectPort="8443" URIEncoding="UTF-8" maxThreads="3000" compression="on" compressableMimeType="text/html,text/xml" maxPostSize="0" />
maxPostSize的值,默认是1024,改成0,就不限制大小。
2,使用spring boot自带的tomcat
application.properties中,添加:server.tomcat.max-http-post-size=0,如果是spring2.X版本:server.tomcat.max-http-post-size=-1
问题解决。