某日使用springboot时出现报错
The valid characters are defined in RFC 7230 and RFC 3986
后据网上冲浪得到良方
向springboot的启动类添加允许的字符即可
package com.springboot.springbootlogindemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class SpringbootLoginDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootLoginDemoApplication.class, args);
}
/**
* 向服务器添加允许的特殊字符
*/
@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers(connector -> connector.setProperty("relaxedQueryChars", "|{}[]\\"));
return factory;
}
}
Q.E.D.