如何在请求参数中匹配web api 2路由和正斜杠?

Dan*_*Dan 9 asp.net-web-api asp.net-web-api-routing

我正在使用Web API 2属性路由,我有一个未正确解决的请求.

[Route("~/foo/{bar?}")]
public void Get(string bar);
Run Code Online (Sandbox Code Playgroud)

我的要求是:mydomain.me/foo/abc/def

我希望收到bar作为"abc/def",但正斜线会使路线匹配.用"%2F"替换正斜杠并不能解决问题.

Kir*_*lla 29

您可以使用如下所示的基于通配符的匹配:

[Route("~/foo/{*bar}")]
public string Get(string bar)
Run Code Online (Sandbox Code Playgroud)