区分大小写的路由

时间:2019-03-17 19:44:25

标签: asp.net-core .net-core

我正在ASP.NET Core 2.2应用程序中寻找区分大小写的路由。

例如:

[HttpGet("/yes}")]
public IActionResult Test()

domain.com/yes domain.com/YES 将执行相同的操作。但是我希望这完全区分大小写。

https://www.visualupload.com/u/2CU

https://www.visualupload.com/U/2CU(u是大写字母,并且都可以。)

我该如何解决?

1 个答案:

答案 0 :(得分:1)

正如其他张贴者所提到的那样,我强烈不建议执行此操作,因为出于多种原因,它可能是一场噩梦。但是,可以使用默认路由来做到这一点。

public class MyController : Controller
{
    public IActionResult MyAction(string id){ }
}

标准路由过程会将/My/MyAction/TeST的请求传递给您的MyAction方法。

然后,您可以使用条件逻辑在MyAction方法中执行区分大小写的内容。

再次,这不是推荐的方法,但这是实现目标的一种方法。

编辑:在其中,您可能会有类似的东西

switch(id)
{
    case "lowercase":
        return MyLowercaseAction();
    case "MiXeDcAsE":
        return MyMixedCaseAction();
    //etc.
}

然后,您将具有单独的方法,这些方法可以返回各种方案的操作结果。或您需要执行的其他任何操作。关键是您将收到信息,并且需要自行执行区分大小写的操作。