springboot 2.X送信postリクエスト数制限の問題を解決


今日自分で開発した新しい機能をテストする時、発見した1件の不思議な事、フロントはajaxを通じてpost要求をバックグラウンドに送って、要求したデータ量はとても大きくて、データはバックグラウンドに着いて発見して、controller層の対応する方法の受信したデータは足りなくて、バックグラウンドは何の間違いも提示していないため、各種の方式で問題を探して、1日の時間を費やして、最後に問題を発見して、問題の原因:tomcatはpostの要求の大きさと要求パラメータの個数を制限した.以下のspringboot 2.xの処理方法を記録します.
1、post要求のサイズを処理し、プロファイルに以下のパラメータを追加する.
server:
  tomcat:
    max-http-post-size: -1

2、post要求パラメータを処理する個数springbootの起動クラスに、以下のコードを追加する.
@Bean
public TomcatServletWebServerFactory  mbeddedServletContainerFactory() {
    	TomcatServletWebServerFactory  tomcatEmbeddedServletContainerFactory = new TomcatServletWebServerFactory ();
        
        tomcatEmbeddedServletContainerFactory.addConnectorCustomizers(connector ->{
            connector.setMaxParameterCount(Integer.MAX_VALUE);
        });
        
        return tomcatEmbeddedServletContainerFactory;
}