springboot 出现 The valid characters are defined in RFC 7230 and RFC 3986

Tomcat的新版本中增长了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只容许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及全部保留字符(RFC3986中指定了如下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。ide

解决方法: 新增一个bean.net

@Component 
public class ScTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
public ScTomcatWebServerCustomizer() {
}get

 

//relaxedQueryChars,relaxedPathChars
@Override 
public void customize(TomcatServletWebServerFactory factory) {
factory.addConnectorCustomizers(connector -> connector.setAttribute("relaxedQueryChars", "{}[]|"));
}
}class

相关文章
相关标签/搜索