分类 默认分类 下的文章

  • 自定类型

简单或复杂数据结构;

  • IActionResult

返回指定Http状态码;

  • Ok()
  • NotFound()

-ActionResult
可同时返回状态码及对象。
返回值为ActionResult< ItemClass>

举例:

API描述
GET /api/items获取所有item
GET /api/item/{id}获取制定项
POST /api/items添加新项
PUT /api/items/{id}更新现有项
DELETE /api/items/{id}删除现有项
不常用:
PATCH /api/items/{id}更新现有项部分内容

Controller下:

若方法为

public IActionResult method(){
  return View();
}

则会生成并返回 对应的View视图;

MVC 与 WebApi的区别:
mvc:
controller是实现Controller(继承自ContollerBase);
有添加ControllerWithViews 服务;
有Route;
能够使用Razor引擎(Cshtml)
WebApi:
Controller 继承 ControllerBase;
只能使用普通web调用接口(ajax,axios,fetch);
有swagger;

.NetCore MVC项目的启动大致有以下流程:

  • 创建AppBuilder;
  • 注册服务;
  • 添加中间件到管线;
  • 运行;

但在不同版本中,实现上略有差异:

.Net5

.Net5 中,在Main方法里调用 CreateHostBuilder 方法执行 StartUp类,在其中注册服务并添加中间件,后再 Build 与 Run。

.Net6

.Net6中,运行类直接使用顶级语句,先将App Build好,再注册服务与添加中间件,最后Run。