序言
在和前端同学联调的时候,发现只要post请求参数里面有[],就会报400的错误
可以看到日志中:
The valid characters are defined in RFC 7230 and RFC 3986
解决办法:
参考了博客:
spring boot 中解决post请求中有{}或[] 返回400 异常
于是也在启动类中加了此配置,果然就可以接收这样的请求了。
后面同事觉得放在启动类里不太好看,就写一个配置类:
@Configuration
public class TomcatConfig {@Beanpublic ConfigurableServletWebServerFactory webServerFactory(){TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();factory.addConnectorCustomizers(connector ->{connector.setProperty("relaxedQueryChars","|{}[]");connector.setProperty("relaxedPathChars","|{}[]");});return factory;}
}
如此也是可以的!通过此配置,请求中有特殊符号:|,{},[],都可以接收到不报400的错误了!
-------------------------------你知道的越多,不知道的越多-----------------------------