Asp.net web api 用于修改请求的.NET Core 3.1全局操作筛选器

Asp.net web api 用于修改请求的.NET Core 3.1全局操作筛选器,asp.net-web-api,.net-core,action-filter,Asp.net Web Api,.net Core,Action Filter,我创建了一个WebApi来学习MVC和.NETCore,它直接在URL中接收带有参数的GET请求。比如: example/getsomething/{id} 我遇到了这个问题:假设{id}是“DU MMY/id”,API将收到的请求是: example/getsomething/DU MMY/ID 由于参数值中的反斜杠,这将返回一个找不到的404 我的想法是将参数作为标准进行URL编码,因此{id}将是“DU%20my%2FID”,请求将发送到正确的控制器,然后我将对URL进行URL解码。我

我创建了一个WebApi来学习MVC和.NETCore,它直接在URL中接收带有参数的GET请求。比如:

example/getsomething/{id}
我遇到了这个问题:假设{id}是“DU MMY/id”,API将收到的请求是:

example/getsomething/DU MMY/ID
由于参数值中的反斜杠,这将返回一个找不到的404

我的想法是将参数作为标准进行URL编码,因此{id}将是“DU%20my%2FID”,请求将发送到正确的控制器,然后我将对URL进行URL解码。我已发现并尝试将其作为全局操作过滤器实施:

我已经检查过了:过滤器在每个请求上执行,并且在控制器操作之前执行,但是它似乎忽略了我对Path属性的修改,并且控制器上的参数仍然是URL编码的,这是为什么?这是正确的方法吗