Visual
MVC 框架可以将传入的 HTTP 请求映射到某个类的特定方法上,在方法内执行任务并返回数据。
我们项目依赖中的 Microsoft.AspNetCore.App 已包含 Microsoft.AspNetCore.Mvc 及其相关的库。
MVC
关注点分离
- Controller:接收请求,构建 Model,选择 View
- Model:携带信息和逻辑
- View:将 Model 翻译为 HTML 页面
路由 Routing
路由:将 HTTP 请求映射到正确的 Controller 的方法上。
- Conventional Routing
- Attribute Routing
Conventional Routing:
app.UseMvc(builder =>{builder.MapRoute("Default", "{controller=Home}/{action=Index}/{id?}");});
Attribute Routing:
using Microsoft.AspNetCore.Mvc;namespace Tutorial.Web.Controllers{//[Route("about")]//[Route("[controller]")] 表示Controller之前的名称[Route("v2/[controller]/[action]")]public class AboutController{//[Route("")]public string Me(){return "Dave";}//[Route("company")]//[Route("[action]")]public string Company(){return "No Company";}}}
两种路由方式只能选择一种使用。
常见的 MVC 应用通常选择前者,RESTful API 或 Web API 项目通常选择后者。
