前言
在使用 ASP.NET Core 生成快速 HTTP API 时,可以将最小 API 作为一种简化的方法。可以使用最少的代码和配置生成完全正常运行的 REST 终结点。跳过传统的基架,并通过流畅地声明 API 路由和操作来避免不必要的控制器。
以上是微软官方对于Minimal Api的概述,其实说白了就是在结构上去掉了控制器的概念,可以直接在单文件Program
中进行接口的定义以及处理等,其他没什么太大的差别,对于一些需要提供比较小型的API接口时可以考虑。
开发环境:.NET 6
开发工具:Visual Studio 2022
实现步骤
创建Mini Api的方式有两种,第一种就是创建一个空的Asp.Net Core项目
第二种就是正常创建Asp.Net Core Web Api项目,然后不要勾选使用控制器和启用Open Api支持(这个可根据需要选择)
创建好之后发现只有一个Program文件以及appsettings.json配置文件
然后直接在Program文件中写需要的接口就行了,路由控制相对也简单了很多
using Microsoft.AspNetCore.Mvc;
varbuilder = WebApplication.CreateBuilder(args);
// Add services to the container.
varapp = builder.Build();
// Configure the HTTP request pipeline.
app.UseHttpsRedirection();
//Index
app.MapGet("/",()=>
{
return"Success";
});
//url param
app.MapPost("/api/GetData1",(stringinput) =>
{
returninput+"-123";
});
//body param
app.MapPost("/api/GetData2",([FromBody]stringinput) =>
{
returninput+"-456";
});
//body json param
app.MapPost("/api/GetData3",(InputData input) =>
{
input.Value1 +="-123";
input.Value2 +="-456";
returninput;
});
app.Run();
classInputData
{
publicstringValue1 {get;set; }
publicstringValue2 {get;set; }
}
直接运行项目会打开首页,也就是上面代码中定义的Index,然后分别使用Http Post访问其他三个接口,以使用不同的参数类型进行访问
实现效果
☛☛☛点击此处下载源码☚☚☚