asp.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 是大写的并且都可以工作。)
我怎样才能解决这个问题?
解决方案
正如其他海报所提到的,我强烈反对这种操作,因为出于多种原因,它可能是一场噩梦。但是,可以使用默认路由来执行此操作。
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.
}
然后,您将拥有返回各种场景的操作结果的单独方法。或者你需要做的任何其他事情。关键是您将收到信息并需要自行采取区分大小写的操作。
推荐阅读
- openapi-generator - 如何使用 Openapi-generator 在模型中添加元信息
- reactjs - 如何在尝试 npm i React 项目中的模块时解决错误
- c# - 升级到 asp.net core 3.1 后声明逐字变量时出错
- php - 在 Laravel 中更改多个选项的状态
- reactjs - 不能使用 @types/react-color 的反应颜色饱和度
- wordpress - 执行失败。请检查error.log
- java - 在 Spring Boot 中获取 API 调用计数很热门
- python - Python:即使关闭互联网,响应代码也会返回 200?
- godot - 如何在 Godot 中创建场景,以便在打开场景时看到它们的正面
- asp.net - 找不到布局视图“~/Admin/_ViewStart.cshtml”