ASP .Net Core Web Api - 简介

1.项目介绍

ASP.NET Core 支持两种创建 API 的方法:基于控制器的方法和最小 API。

  • API 项目中的控制器是派生自 ControllerBase 的类。
  • 最小 API 在 Lambda 或方法中使用逻辑处理程序定义终结点。

这里的最小API用的相对较少,所以我们使用基于控制器的方法。

Web API 中的控制器是派生自 ControllerBase 的类。 控制器按请求激活和释放。

2.ControllerBase 类

基于控制器的 Web API 包含一个或多个派生自 ControllerBase 的控制器类。 Web API 项目模板提供了一个入门版控制器:

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase

Web API 控制器通常应派生自 ControllerBase 而不是 Controller。 Controller 派生自 ControllerBase,并添加对视图的支持,因此它用于处理 Web 页面,而不是 Web API 请求。
如果同一控制器必须支持视图和 Web API,则派生自 Controller。

3.特性

Microsoft.AspNetCore.Mvc 命名空间提供可用于配置 Web API 控制器的行为和操作方法的属性。

特性 说明
Route 指定控制器或操作的 URL 模式。
Bind 指定要包含的前缀和属性,以进行模型绑定。
HttpGet 标识支持 HTTP GET 操作谓词的操作。
Consumes 指定某个操作接受的数据类型。
Produces 指定某个操作返回的数据类型。

有关包含可用属性的列表,请参阅 Microsoft.AspNetCore.Mvc 命名空间。

4.ApiController 属性

[ApiController] 属性可应用于控制器类,以启用下述 API 特定的固定行为:

  • 属性路由要求
  • 自动 HTTP 400 响应
  • 绑定源参数推理
  • Multipart/form-data 请求推理
  • 错误状态代码的问题详细信息
posted @ 2024-06-11 13:43  x_amos  阅读(9)  评论(0编辑  收藏  举报