通常URL中很少含有中文,无奈业务实现各种奇葩都有,在URL中请求参数里带有中文。在以前直接访问服务时,没有问题,但现在通过API网关zuul,就出现了badMessage: 400 Illegal character 错误,为什么呢?如何解决这个问题呢?
问题
1)部分中文出现 badMessage: 400 Illegal character 错误
出现原因:
首先TracePreZuulFilter的runFilter()会在request header中存入URL,key是X-Span-Name,如果URL中含有中文,那此时header中就包含了中文。