Asp.Net Core WebAPI实战3
1.MVC模式简介
Model主要跟数据有关,数据CURD、数据的存储简单处理,DAO与DTO,Repository及缓存都可以划归Model层。
View主管视图,用于生成模板根据数据渲染并进行显示
Controller主要涉及到接受用户输入信息,调用Model层进行处理,传递给View渲染返回。
2.MVC在Asp.net Core中的变化
控制器、行为方法、路由、依赖注入、过滤器、模型绑定在MVC和WebAPI中共享使用。
3.控制器及Action方法的行为机制
在请求到达后,根据路由规则映射到具体的控制器及方法上去进行处理,过滤器优先处理原生请求:权限验证等,模型绑定及模型验证会将数据一一绑定到action方法的参数上去,格式化器会将数据按照指定的格式进行转换。Action方法可以返回视图或者响应的数据。
4.控制器的定义
a 可以继承自Controller抽象类,并按照约定以Controller结尾命名控制器类
b 可以在类上使用[Controller]注解标记为控制器,也可以使用[NonController]
5.控制器依赖注入
在控制器内部创建私有变量,一般是接口变量,通过构造函数注入具体的实例。
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() //视图
使用IActionResult的辅助方法实例:
使用自己生成的具体实例:
7.路由
MVC有两种方法配置路由:
使用IRouteBuilder:
使用注解:
存在两种路由,绝对路由和相对路由,绝对路由从~开始,相对路由相对于控制器指定的Route注解的地址
- 微软ASP.NET 电商网站开发实战 MVC6 +HTML5 +WCF+WebAPI+NoSQL+mongoDB+Redis+Core视频 代码 面试题
- ASP.NET Core 实战:使用ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目
- Asp.Net Core WebAPI实战8
- 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
- Asp.Net Core WebAPI实战4
- ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目
- Asp.Net Core WebAPI实战6
- Asp.Net Core WebAPI实战7
- Asp.Net Core WebAPI实战9
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
- [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了
- Global exception handling in asp.net core webapi
- asp.net core web api token验证和RestSharp访问
- ASP.NET Core 2.2 基础知识(十四) WebAPI Action返回类型(未完待续)
- ASP.NET Core WebAPI中的分析工具MiniProfiler
- ASP.NET Core WebApi中使用FluentValidation验证数据模型
- 在ASP.NET Core Web API中为RESTful服务增加对HAL的支持
- 基于ASP.NET WebAPI OWIN实现Self-Host项目实战
- LINUX 下Jexus部署ASP.NET Core WebApi
- ASP.NET Core WebAPI 开发-新建WebAPI项目