MinimalApi

243 阅读1分钟

前言

    随着.Net6的发布,微软也改进了对之前ASP.NET Core构建方式,使用了新的Minimal API模式。之前默认的方式是需要在Startup中注册IOC和中间件相关,但是在Minimal API模式下你只需要简单的写几行代码就可以构建一个ASP.NET Core的Web应用,真可谓非常的简单,加之配合c#的global using和Program的顶级声明方式,使得Minimal API变得更为简洁,不得不说.NET团队在.NET上近几年真是下了不少功夫,接下来我们就来大致介绍下这种极简的使用模式。

使用方式

既然说它很简单了,到底是怎么个简单法呢。相信下载过Visual Studio 2022的同学们已经用它新建过ASP.NET Core 6的项目了,默认的方式就是Minimal API模式,这样让整个Web程序的结构看起来更简单了,加上微软对Lambda的改进使其可以对Lambda参数进行Attribute标记,有的场景甚至可以放弃去定义Controller类了。

1、先创建一个新的API Core项目,在项目中添加一个类

public static class Prder
{
    public static void aa(this WebApplication app) {
        //对id的赋值
        app.MapGet("cc", (int id,HttpContext context) =>
        {
            var a = context.Request.Query;
            return new
            {
                id = a,
                name = "aas",
                age = 36
            };
        }).WithName("MapGet");

        app.MapDelete("cc", () =>
        {
            return new
            {
                name = "aas",
                age = 36
            };
        }).WithName("MapDelete");

        app.MapPost("cc", () =>
        {
            return new
            {
                name = "aas",
                age = 36
            };
        }).WithTags("ff");//WithTags("ff")是对他的分类

        app.MapPut("cc", () =>
        {
            return new
            {
                name = "aas",
                age = 36
            };
        }).WithTags("ff");
    }
}

2、然后在Program中引用

Prder.aa(app);

最终实现的效果为

QQ截图20220216172006.png