在以前的MVC引用程序中,控制器负责接收输入信息、执行、编排操作并返回响应,它是一个功能齐全的框架,它提供了过滤器、内置了模型绑定与验证,并提供了很多可扩展的管道,但它偏重,不像其它语言是通过更加简洁的方式来开启Web之旅的,因此在.Net6.0官方引入了MinimalAPIs,即最小API,与MVC相比,它足够的简洁,适合小型服务来使用,下面就让我们看看如何使用MinimalAPI来开发一个web应用程序
入门
下面我们来看一下官方提供的MinimalAPI
是如何使用的
- 前提条件:安装.NET 6.0
- 新建ASP.NET Core 空项目
Assignment.MinimalApiDemo
dotnet new web -o Assignment.MinimalApiDemo
cd Assignment.MinimalApiDemo
- 增加一个
Get
请求,修改Program
app.MapGet("/test", () => "Test Success!");
根据需求,自行增加Get
(MapGet)、Post
(MapPost)、Put
(MapPut)、Delete
(MapDelete)方法即可,完整代码如下:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/test", () => "Test Success!");
Masa版MinimalAPI
随着我们的服务变得越来越多,这些服务全部被堆积在Program
中,这样岂不是变成流水账式的代码?那怎么做才能使得我们的代码更加美观呢?
下面我们就来看一下Masa提供的MinimalAPIs
是如何来使用的
- 选中项目
Assignment.MinimalApiDemo
,并安装Masa.Contrib.Service.MinimalAPIs
dotnet add package Masa.Contrib.Service.MinimalAPIs --version 0.6.0-preview.13
- 注册Masa版的
MinimalAPI
,修改Program
var app = builder.AddServices();
- 新增加一个用户的服务,新增
UserService
类
public class UserService : ServiceBase
{
public IResult Add(RegisterUserRequest request)
{
//模拟添加用户
return Results.Ok();
}
}
到这里已经结束了,可能会有小伙伴十分的疑惑,Masa提供的方案让我有点摸不着头脑,但项目运行后就会发现在Swagger上多了一个服务
细心的小伙伴发现了,这个服务好像是我们新增的添加用户服务
,但链接地址为什么是api/v1/Users
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!