【发布时间】:2020-11-26 13:26:11
【问题描述】:
我必须为 .Net Core 3.0 Web API 项目创建路由逻辑,该项目路由到具有相同路由前缀的不同控制器,给定一个值。
示例: 我有基于状态的控制器。
StateUsersCOController
StateUsersCAController
StateUsersWAController
等等。
它们都实现了相同的方法,例如:
GetUsers();
我想要实现的是根据状态信息将我的请求路由到相关控制器,例如:
api/StateUsers/CA
或
api/StateUsers?state=CA
或
api/StateUsers and Request Header has the state Information such as State:CA
我能想到的是创建一个名为 StateUsers 的控制器,以上述提供的方式之一捕获状态值并将请求重定向到相关控制器,但我想避免重定向并实现路由级别。你们能不能提供一个更好的方法来做到这一点。
【问题讨论】:
-
你会传递多个参数吗?
-
没有唯一的单一状态参数
-
你可以尝试类似this
-
@Eldar 尝试了链接中给出的解决方案,虽然看起来很有希望,但我使用的是 APIController 属性,它需要覆盖传统路由的 Route 属性。
标签: .net .net-core asp.net-core-webapi asp.net-core-routing