A while a ago, I blogged about how I liked the FeatherHttp Project by David Fowler.
Now it looks like Asp.Net Dev Team have plans to include it as part of .NET 6.
While watching a an opening talk by Scott Hunter at Devintersection. I saw a demonstration of Minimal Web Apis. You can view the demos here.
After a bit more googling with Bing 😄. I found an ASP.NET Community Standup Stream which discusses the origins of Minimal apis and the plans the development team have for them. Towards the end of the video there is a discussion on the RequestDelegateFactory which looks really interesting.
The big sellling point here is less code.
so taking code written using FeatherHttp
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
namespace FeatherHttpDemo
{
    internal class Program
    {
        private static async Task Main(string[] args)
        {
            var app = WebApplication.Create(args);
            app.MapGet("/api/info", async http =>
            {
                var apiInfo = new
                {
                    Title = "FeatherHttp Api Demo",
                    Version = "1.0.0",
                    Copyright = "Eamonn Flynn 2020"
                };
                await http.Response.WriteJsonAsync(apiInfo);
            });
            await app.RunAsync();
        }
    }
}can be written using C# 10 as
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
var builder = WebApplication.CreateBuilder(args);
await using var app = builder.Build();
 app.MapGet("/api/info", async http =>
        {
            var apiInfo = new
            {
                Title = "Minimal Api Demo",
                Version = "1.0.0",
                Copyright = "Eamonn Flynn 2021"
            };
            await http.Response.WriteAsJsonAsync(apiInfo);
        });
await app.RunAsync();N.B at the time of writing this post. You need to be running a Preview of .Net 6 for the above code to work.
As I have said before, even with using the dotnet new command line, setting up an Asp.Net Web Api requires a bit more ceremony and understanding compared to other server frameworks.
Minimal Apis look to reduce that bar to entry and help get more projects going on .Net Core
