1.java 特定版本会出现拦截特殊字符的问题,导致无法传递json数据
2.解决方法,项目添加一个配置文件:
import org.apache.catalina.connector.Connector;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;
@Component
public class PortalTomcatWebServerCustomizer implements
WebServerFactoryCustomizer {
@Override
public void customize(WebServerFactory factory) {
TomcatServletWebServerFactory containerFactory = (TomcatServletWebServerFactory) factory;
containerFactory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
//这里需要转义,微博上被转换了 有其他特殊字符在第二个形参里面添加就行
connector.setAttribute("relaxedQueryChars", "[]|{}^\`"<>\\n;");
connector.setAttribute("relaxedPathChars", "[]|");
}
});
}
}