Ran*_*dom 6 c# routing asp.net-core
我想Startup.Configure使用MVC默认情况下用于操作的相同方法在方法内设置 API 路由,没有Route属性。我尝试以下操作:
// API
routes.MapRoute(
name: "api",
template: "api/{controller}/{id?}");
// default
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
Run Code Online (Sandbox Code Playgroud)
控制器看起来像这样
public class CategoriesController : Controller
{
[HttpGet]
public async Task<Category[]> Get(int currentPageNo = 1, int pageSize = 20)
{
// return data here
}
}
Run Code Online (Sandbox Code Playgroud)
但它与这个 url: 不匹配/api/categories。改为应用下一条规则。如果我使用这样的属性路由
[Route("api/[controller]")]
public class CategoriesController : Controller
{
[HttpGet]
public async Task<Category[]> Get(int currentPageNo = 1, int pageSize = 20)
{
// return data here
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常。但我想避免在每个 API 控制器上放置相同的路由属性。在这种情况下配置路由的正确方法是什么?
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |