作者:loassde_392 | 来源:互联网 | 2024-11-30 03:17
当Spring Boot应用接收到包含特殊字符(如反斜杠)的请求时,可能会遇到“Invalid character found in the request target”错误。这是因为Tomcat服务器默认不允许这些字符出现在URL中。为了处理这种情况,可以通过自定义配置来放宽对这些字符的限制。
具体操作是在Spring Boot的应用启动配置类中添加一个方法,用于配置Servlet容器:
@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector ->
connector.setProperty("relaxedQueryChars", "|{}[]\"));
return factory;
}
上述代码通过设置relaxedQueryChars
属性,允许更多的特殊字符出现在查询参数中。这不仅解决了反斜杠问题,还扩展了其他可能引起问题的字符支持。
需要注意的是,这种配置方式不仅限于应用的主启动类,任何带有@Configuration
注解的配置类都可以实现相同的效果。此外,如果需要进一步调整或增加其他字符的支持,可以在relaxedQueryChars
属性值中继续添加相应的字符。