首页 > 其他分享 >shenyu对restful的path中文不支持,400错误解决

shenyu对restful的path中文不支持,400错误解决

时间:2022-12-06 13:01:47浏览次数:46  
标签:中文 插件 shenyu exchange URI uri 400 path

一、背景

基础架构组推荐说使用shenyu网关,也在一部分内部应该有落地,shenyu的插件非常丰富

二、环境

shenyu:2.5.0 proxys:divide

三、异常

在历史2.4.* 版本中,shenyu对于url的queryParam是不支持中文的,在2.5.0已经修复该问题,但是对于restful中path有中文还是不支持

四、解决

编写自己的shenyu插件

URI uri = exchange.getRequestAttribute().get(Contstans.HTTP_URI);
if (Objects.isNull(uri)) {
return chain.execute(exchange);
}
URI encodeUri = URI.create(uri.toASCIIString());
exchange.getAttributes().put(Contstans.HTTP_URI), encodeUri);
return chain.execute(exchange);

在admin设置顺序为210,即可

标签:中文,插件,shenyu,exchange,URI,uri,400,path
From: https://blog.51cto.com/u_15814313/5915645

相关文章