java.lang.IllegalArgumentException:

java.lang.IllegalArgumentException:

 Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,问一下同学的问题是解决了吗?

祝:学习愉快~

提问者 慕桂英3475789 2020-05-11 07:54:22

网上的解决方案

/**

 * 解决异常信息:

 *  java.lang.IllegalArgumentException:

 *      Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

 * @return

 */

@Bean

public ConfigurableServletWebServerFactory webServerFactory() {

    TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();

    factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {

        @Override

        public void customize(Connector connector) {

            connector.setProperty("relaxedQueryChars", "|{}[]");

        }

    });

    return factory;

}                            


提问者 慕桂英3475789 2020-05-11 07:51:03

原因:

     SpringBoot 2.0.0 以上都采用内置tomcat8.0以上版本,而tomcat8.0以上版本遵从RFC规范添加了对Url的特殊字符的限制,url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~四个特殊字符以及保留字符( ! * ’ ( ) ; : @ & = + $ , / ? # [ ] ) (26*2+10+4+18=84)这84个字符,请求中出现了{}大括号或者[],所以tomcat报错。



问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师