Asp.Net Core WebAPI实战3

1.MVC模式简介

Asp.Net Core WebAPI实战3_第1张图片

Model主要跟数据有关,数据CURD、数据的存储简单处理,DAO与DTO,Repository及缓存都可以划归Model层。

View主管视图,用于生成模板根据数据渲染并进行显示

Controller主要涉及到接受用户输入信息,调用Model层进行处理,传递给View渲染返回。

 

2.MVC在Asp.net Core中的变化

控制器、行为方法、路由、依赖注入、过滤器、模型绑定在MVC和WebAPI中共享使用。

 

3.控制器及Action方法的行为机制

在请求到达后,根据路由规则映射到具体的控制器及方法上去进行处理,过滤器优先处理原生请求:权限验证等,模型绑定及模型验证会将数据一一绑定到action方法的参数上去,格式化器会将数据按照指定的格式进行转换。Action方法可以返回视图或者响应的数据。

Asp.Net Core WebAPI实战3_第2张图片

4.控制器的定义

a 可以继承自Controller抽象类,并按照约定以Controller结尾命名控制器类

Asp.Net Core WebAPI实战3_第3张图片

b 可以在类上使用[Controller]注解标记为控制器,也可以使用[NonController]

Asp.Net Core WebAPI实战3_第4张图片

 5.控制器依赖注入

Asp.Net Core WebAPI实战3_第5张图片

Asp.Net Core WebAPI实战3_第6张图片

在控制器内部创建私有变量,一般是接口变量,通过构造函数注入具体的实例。

 

6.Action

Action可以使用[HttpGet] [HttpPost] [HttpPut] [HttpHead] [HtpDelete] [HttpOptions] [HttpPatch]标记请求类型

使用[NonAction]标记为非请求方法。

返回类型可以是任意的,或者IActionResult

IActionResult的具体实现类:

Ok()    //返回200

NotFound()    //返回404

BadRequest()    //返回400

Redirect()    //重定向

LocalRedirect()

RedirectToRoute()

Json()    //Json数据

Content()    //内容数据

View()    //视图

Asp.Net Core WebAPI实战3_第7张图片

Asp.Net Core WebAPI实战3_第8张图片

使用IActionResult的辅助方法实例:

Asp.Net Core WebAPI实战3_第9张图片

使用自己生成的具体实例: 

Asp.Net Core WebAPI实战3_第10张图片

 

7.路由

MVC有两种方法配置路由:

使用IRouteBuilder:

Asp.Net Core WebAPI实战3_第11张图片

使用注解:

Asp.Net Core WebAPI实战3_第12张图片

存在两种路由,绝对路由和相对路由,绝对路由从~开始,相对路由相对于控制器指定的Route注解的地址

 

你可能感兴趣的:(Asp.Net,Core,WebAPI)