两种路由映射模式




特征注释路由 在controller里面大类上 命名空间下方 输入[Route("Home")] 可指定路由 在该类中的方法上也可以使用同样的方法进行指定路由
也可以定义为:
[Route("admin/[controller]/[action]")]
自定义路由为:
app.UseMvc(route => {
route.MapRoute("default", "{controller=home}/{action=index}/{id?}");
});
传统路由(使用路由表)Conventional routing
特征注释路由 Attribute routing
路由表配置
routes.MapRoute( name:"default", templete:"{controller=Home}/{action=Index}");[Route("api/UploadFiles")]public Hashtable UploadFiles(List<IFormFile> files){
}添加路由配置 .net core 3.1
ConfigureServices方法中-services.AddMvc(option => option.EnableEndpointRouting = false);//注册MVC同时禁用endpointConfigure方法中-app.UseMvcWithDefaultRoute();
特征类型
namespace ShopMail.controllers{
[Route("[controller]/[action]")] public class HomeController : Controller
{ public String hola()
{ return "Hola";
}
}
}会映射到https://localhost:5001/home/hola传统路由
Configure方法中-app.UseMvcWithDefaultRoute();
新建controllers文件夹,并新建controller模版,访问路径为 会映射为 controller除去Controller的名字+对应方法名https://localhost:5001/home/hola
吐槽下 慕课不支持markdown=。= 需要的朋友点击上面标题超链 如果有不对的地方,请指正 本人也在学习中....
如果你使用的是ASP.net core 3.0
应当如下设置
在Startup.cs文件中,将教程中的app.UseMvcWithDefaultRoute();修改为
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
两种路由映射模式:
传统路由(使用路由表)Conventional routing
特性注释路由 Attribute routing



添加路由 2种方式
conventional Routing: url分段解析为controller和action 路由表设置路由规则