%E2%80%8B 出现在 url.Net Core

%E2%80%8B Appears in url .Net Core

我从未遇到过这样的问题,但它作为路线的一部分出现,如果我手动输入路线,那么结果是 404

如果我从 swagger 复制 %E2%80%8B 出现。

我该如何解决这个问题?

.Net Core 2.1

http:///localhost/functionCodes/%E2%80%8Btest - 有效

http:///localhost/functionCodes/测试-404

根据:this chart

%E2%80%8B 是“零宽 SPACE”字符的代码。

它可能以某种方式在您没有注意到的情况下被插入,您可能在您的代码中看不到它,但它就在这里。

我建议完全删除定义 URL 的字符串(包括周围的引号!)并重新编写。

因为你用的是ASP.NET,这个路径可能来自于Controller中的Action方法名,但是解决方法是一样的:完全去掉Test()方法名,使得确定你之前删除了一些 space 个字符,然后重写它。

如果你想检查这个,你可能可以使用一些高级文本编辑器或十六进制编辑器来查看它实际上在源代码中。

可能有一些 Visual Studio 扩展程序也可以帮助您查看这些隐藏的字符。