【发布时间】:2019-03-27 02:35:13
【问题描述】:
我曾经有一个 NET Web API (4.6.2) 应用程序,它有一些不明确的路由。像这样的:
[RoutePrefix(RoutePrefix)]
public class TestController : ApiController
{
public const string RoutePrefix = "test";
[HttpGet, Route("")]
public IHttpActionResult GetAll(Guid uid, [FromUri]int limit, [FromUri]int offset)
{
// Logic Here.
}
[HttpGet, Route]
public async Task<IHttpActionResult> Test([FromUri]Guid id, [FromUri]int? limit = null, [FromUri]int? offset = null)
{
// Logic Here.
}
}
所有这一切都在过去,因为我在启动时有这个设置:
config.MapHttpAttributeRoutes();
问题是我正在将此 API 转换为 NET Core MVC API,并且 MapHttpAttributeRoutes 设置不再可用。这意味着现在我在某些操作上遇到了一些模棱两可的问题(比如上面提到的那个)。
我知道一种解决方法(我希望在未来这样做)是为每个操作设置特定的路线。此时,基于此 API 的使用,我无法更改所有路由。有了这一切,我想知道是否有人找到了一种在不改变路线的情况下处理这种情况的方法?
谢谢你们。
【问题讨论】:
标签: asp.net-core-mvc