当遇到特殊符号传递给后台时,如果不加处理,就会报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 ;
    }

 

就是这么简单,你学废了吗?