详解Minimal Web API的使用

x33g5p2x  于2022-06-16 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(257)

一、简介

“Minimal API 是为了创建具有最小依赖关系的 HTTP API”,这是官方的解释。什么意思呢,创建一个 API 并不需要加载许多的依赖。平时在开发 ASP.NET Core Web API 时,通常需要创建 Controller 来定义我们的 API 这种方式,会使用一些依赖包,这种就不是 Minimal API 。今天要将的就是,不用 Controller 的方式创建 API ,即 Minimal Web API。

二、案例

案例通过 .NET6 进行讲解 Minimal API,其他版本的 .NET Core 原理相同

2.1 初始项目

创建 ASP.NET Core 6.0 Web API 项目,并且安装 Swagger/OpenAP

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
app.UseSwagger();
app.UseSwaggerUI();

2.2 Minimal API

在 Program.cs 中添加 app.MapGet、app.MapPost、app.MapPut、app.MapDelete。如下

app.MapGet("/", () => "我是 get");
app.MapPost("/post", () => "我是 post");
app.MapPut("/put", () => "我是 put");
app.MapDelete("/delete", () => "我是 delete");

MapXXX 方法的第二参数,可以返回任意类型的数据,这里讲解功能点,所以简单返回了个字符串。有兴趣的同学,可以试着返回从数据库查询的操作等,都可以的。

2.3 启动项目

项目启动成功后,可以看到我们创建的 Get、Post、Put、Delete 四个 API ,这就是 Minimal Web API

尝试访问一个看,这里访问 Post 的 API ,可以看到是我们期望返回的结果

2.4 源码

https://download.csdn.net/download/weixin_46785144/85049633

三、应用场景

Minimal Web API 在项目中的使用场景有许多,健康检测、一些第三方框架的提供的可以访问的 URL 。今天简介的讲下健康检测应用场景。在一些开发比较规范的公司,程序的健康检测是必不可少的,通常会在程序中创建一个 Controller ,这样不够美观,有架构的公司通常都是封装的框架内的,其中通常都是使用的 Minimal Web API。

app.MapGet("/HealthCheck", () => { });

启动程序,访问一下 /HealthCheck ,可以看到响应的 200 code

相关文章