Setting 'relaxedQueryChars' for embedded Tomcat

后端 未结 3 2097
既然无缘
既然无缘 2021-01-17 13:43

How can I set relaxedQueryChars for Spring Boot embedded Tomcat?

The connector attribute described here, but Spring Boot documentation has no such param

3条回答
  •  执笔经年
    2021-01-17 14:29

    I did this as a working solution for me:

    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer(){
        return new MyCustomizer();
    }
    
    private static class MyCustomizer implements EmbeddedServletContainerCustomizer {
    
        @Override
        public void customize(ConfigurableEmbeddedServletContainer factory) {
            if(factory instanceof TomcatEmbeddedServletContainerFactory) {
                customizeTomcat((TomcatEmbeddedServletContainerFactory) factory);
            }
        }
    
        void customizeTomcat(TomcatEmbeddedServletContainerFactory factory) {
            factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
                connector.setAttribute("relaxedPathChars", "<>[\\]^`{|}");
                connector.setAttribute("relaxedQueryChars", "<>[\\]^`{|}");
            });
        }
    
    }
    

提交回复
热议问题