.Net 最小(Minimal)API

af1192e493503435899befbb107bdaee.png

前言

6c0a8e8ded44366bdb04bfb02b6f6802.png

23275976685e26e1be9642d3e8912444.png

    在使用 ASP.NET Core 生成快速 HTTP API 时,可以将最小 API 作为一种简化的方法。可以使用最少的代码和配置生成完全正常运行的 REST 终结点。跳过传统的基架,并通过流畅地声明 API 路由和操作来避免不必要的控制器。

以上是微软官方对于Minimal Api的概述,其实说白了就是在结构上去掉了控制器的概念,可以直接在单文件Program中进行接口的定义以及处理等,其他没什么太大的差别,对于一些需要提供比较小型的API接口时可以考虑。

c17ce2f44eb8beee0bda213a1bd71ce5.png

8f72dd7a835d1720df970be06e572e59.gif

cc958e489c4f9b0ee9f477f2dcab470b.jpeg

开发环境:.NET 6

开发工具:Visual Studio 2022

40c37f3b3f55df0e44558cec7c81b30b.png

实现步骤

6978bb3c586a8a9aa0f0646de90ad5a7.png

  1. 创建Mini Api的方式有两种,第一种就是创建一个空的Asp.Net Core项目

7e7b58a1b37c2cc22db2522e5721c25e.jpeg

  1. 第二种就是正常创建Asp.Net Core Web Api项目,然后不要勾选使用控制器和启用Open Api支持(这个可根据需要选择)

574ea05a175c50b8cf0b6130b8441e8a.jpeg

d0fcb53e041f05015cd02461f9d17fe8.jpeg

  1. 创建好之后发现只有一个Program文件以及appsettings.json配置文件

  2. 然后直接在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; }
}
  1. 直接运行项目会打开首页,也就是上面代码中定义的Index,然后分别使用Http Post访问其他三个接口,以使用不同的参数类型进行访问

ff1ee15590d136828f5c0a48a0129650.png

实现效果

74e4ad7e4c7346e0586b7478b8ea1757.png

389ba647a28d5db38e8f2b3cd9cc3deb.png

be189102814dc4c7978ba0e0612f6cf8.png

0872e8e7308822a7ecad4ec6cb3cab25.png

☛☛☛点击此处下载源码☚☚☚

b7f2cef8a2eab607d3b7f73718abf642.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值