当遇到特殊符号传递给后台时,如果不加处理,就会报400的错误,解决办法有两种。
1.前台解决
前台解决的方法就是把这些特殊符号转义,转义之后浏览器和后台都可以识别。
//对特殊字符进行转义
encodeURIComponent(str)
js中使用encodeURIComponent即可进行自动转义,其他的特殊符号也是一样。
2.后台解决
后台解决很简单,只需要在启动类上加一个配置即可。
//解决特殊符号 []报400问题
@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory (){
// 修改内置的 tomcat 容器配置
TomcatServletWebServerFactory tomcatServlet = new TomcatServletWebServerFactory();
tomcatServlet .addConnectorCustomizers(
(TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "[]{}")
);
return tomcatServlet ;
}
就是这么简单,你学废了吗?