asp.net-core-mvc - 属性路由区分通配符和具有相似模式的操作
问题描述
我有一个动作的属性,例如:
[HttpGet("{id}")]
和另一个动作的属性
[HttpGet("getuser")]
他们最终都调用了 {id} 动作。
如何在不更改 {id} 属性的情况下将 getuser 路由到它自己的操作?
解决方案
您可以将操作过滤到两个不同的路线,例如:
[HttpGet("{id}")]
public IActionResult Action1(string id)
{
return View();
}
[HttpGet("getuser/{id}")]
public IActionResult Action2(string id)
{
return View();
}
对于Action2
,您可以请求:http://localhost/getuser/id
。
事实上,如果我尝试以下路线:
[HttpGet("{id}")]
public IActionResult Action1(string id)
{
return View();
}
[HttpGet("getuser")]
public IActionResult Action2()
{
return View();
}
如果请求\getuser
,它会触发Action2
。确认进入\getuser
推荐阅读
- javascript - 在 React Router 中重写自定义路由以使用渲染道具而不是组件道具
- java - 如何从 Java PreparedStatement 更新 MySql 中的时间戳字段?
- c - 直接访问结构中的联合
- r - 在 R 中运行 `grangertest()` 时允许使用别名系数
- python - Python 可以有虚拟环境,是否有 Dart/flutter 的等价物?
- vb.net - 更新 NumericUpDown 时是否可以自动更新文本框
- django-rest-framework - 向 ModelViewSet 请求列表并在插入前检查重复项
- excel - Excel:当column = yes时将行名称和列标题添加到行的宏
- node.js - 将 socket.io 添加到 express 应用程序时出现“端口已在使用错误”-发生在我尝试的任何端口上
- python - Python while循环用户输入,直到在sql中找到结果