【发布时间】:2021-06-28 16:50:06
【问题描述】:
asp.net core web api中如何使用常规路由和属性路由?
是否可以结合传统路由和属性路由,类似于 asp.net web api?
如何在asp.net core web api中指定默认路由?
【问题讨论】:
-
这能回答你的问题吗? asp.net core web api center routing
asp.net core web api中如何使用常规路由和属性路由?
是否可以结合传统路由和属性路由,类似于 asp.net web api?
如何在asp.net core web api中指定默认路由?
【问题讨论】:
在asp.net core web api和mvc中可以指定路由
您可以在launchSettings.json 中指定默认路由。在所有配置文件的 launchUrl 属性中设置控制器名称
.net core 2.2,在Startup.cs配置方法,
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
.net core 3.1,在Startup.cs配置方法,
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
【讨论】:
根据微软官方文档,属性路由成为 Asp.net 核心 Web API 应用程序中的一项要求。
你必须像下面这样定义属性路由。
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
操作无法通过 UseMvc 定义的常规路由或 在 Startup.Configure 中使用 MvcWithDefaultRoute。
【讨论】: