【发布时间】:2020-05-14 06:39:46
【问题描述】:
我的端点是/mz/api/mot/pol/re/pt?Output=1|920222|R1205200130|Success|
我正在使用在 Netty 上运行的 Spring Boot 上的网关应用程序
并面临以下异常,
java.lang.IllegalArgumentException: Illegal character in query at index 46:
at java.net.URI.create(URI.java:852) ~[na:1.8.0_242]
at reactor.netty.http.HttpOperations.resolvePath(HttpOperations.java:300) ~[reactor-netty-0.9.4.RELEASE.jar:0.9.4.RELEASE]
at reactor.netty.http.server.HttpServerOperations.<init>(HttpServerOperations.java:128) ~[reactor-netty-0.9.4.RELEASE.jar:0.9.4.RELEASE]
at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:157) ~[reactor-netty-0.9.4.RELEASE.jar:0.9.4.RELEASE]
at
同样的错误也发生在 Tomcat 中,我通过设置 relaxedQueryChars 属性解决了它。请建议如何做到这一点。提前致谢。
【问题讨论】:
-
这与 Netty 无关。您创建了无效的 URL。您必须对查询参数进行编码。
标签: spring spring-boot tomcat netty