今天发现前台拿到后台返回值,请求统一错误业务时,由于参数中还有
[]导致报错,后台报错为在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义
查看url规范时发现这个字符其实是允许的
tomcat按照RFC 3986规范解析地址。该规范只允许包含 a-zA-Z 0-9 - _ . ~ 以及所有保留字符 ! * ’ ( ) ; : @ & = + $ , / ? # [ ]
但是需要在tomcat中配置一下,才可以
具体路径在conf/server.xml文件
找到对应的服务端口,加上relaxedPathChars="|{}[],%" relaxedQueryChars="|{}[],%"
为了安全起见,涉及到错误提示时还是使用中文下的括号靠谱【】