MinimalApis.Extensions 0.11.0

.NET 6.0
dotnet add package MinimalApis.Extensions --version 0.11.0
NuGet\Install-Package MinimalApis.Extensions -Version 0.11.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MinimalApis.Extensions" Version="0.11.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MinimalApis.Extensions --version 0.11.0
#r "nuget: MinimalApis.Extensions, 0.11.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MinimalApis.Extensions as a Cake Addin
#addin nuget:?package=MinimalApis.Extensions&version=0.11.0

// Install MinimalApis.Extensions as a Cake Tool
#tool nuget:?package=MinimalApis.Extensions&version=0.11.0


A set of extensions and helpers that extend the functionality of ASP.NET Core Minimal APIs.



NuGet Releases

This package is currently available from

> dotnet add package MinimalApis.Extensions

CI Builds

If you wish to use builds from this repo's main branch you can install them from this repo's package feed.

  1. Create a personal access token for your GitHub account with the read:packages scope with your desired expiration length:

    <img width="583" alt="image" src="">

  2. At the command line, navigate to your user profile directory and run the following command to add the package feed to your NuGet configuration, replacing the <GITHUB_USER_NAME> and <PERSONAL_ACCESS_TOKEN> placeholders with the relevant values:

    ~> dotnet nuget add source -n GitHub -u <GITHUB_USER_NAME> -p <PERSONAL_ACCESS_TOKEN>
  3. You should now be able to add a reference to the package specifying a version from the repository packages feed

  4. See these instructions for further details about working with GitHub package feeds

Getting Started

  1. Install the NuGet package into your ASP.NET Core project:
    > dotnet add package MinimalApis.Extensions
  2. .NET 6.0 projects only In your project's Program.cs, call the AddEndpointsMetadataProviderApiExplorer() method on builder.Services to enable enhanced endpoint metadata in ApiExplorer:
    var builder = WebApplication.CreateBuilder(args);
    builder.Services.AddEndpointsMetadataProviderApiExplorer(); // <-- Add this line in .NET 6.0 projects
  3. Update your Minimal APIs to use the filters, binding, and result types from this library, e.g.:
    app.MapPut("/todos/{id}", async Task<Results<NotFound, NoContent>> (int id, Todo todo, TodoDb db) =>
        var existingTodo = await db.Todos.FindAsync(id);
        if (existingTodo is null)
            return TypedResults.NotFound();
        existingTodo.Title = todo.Title;
        existingTodo.IsCompleted = todo.IsCompleted;
        await db.SaveChangesAsync();
        return TypedResults.NoContent();

What's Included?

This library provides types that help extend the core functionality of ASP.NET Core Minimal APIs in the following ways:

  • Enhanced parameter binding via IParameterBinder and Bind<TValue>, Body<TValue>, JsonFormFile, and others
  • Extra result types available via Results.Extensions including PlainText, Html, and UnsupportedMediaType
  • For .NET 7.0 apps, an endpoint filter that validates route handler parameters and auto-responds with validation problem if validation fails
  • Poly-filling of .NET 7.0 features for use in .NET 6.0 projects including:
    • Typed IResult objects for easier unit testing (available via TypedResults) including the IStatusCodeHttpResult, IContentTypeHttpResult, and IValueHttpResult interfaces
    • Automatic population of detailed endpoint descriptions in Swagger/OpenAPI via the ability for input and result types to populate endpoint metadata via IEndpointParameterMetadataProvider and IEndpointMetadataProvider
    • Union IResult return types via Results<TResult1, TResultN> that enable route handler delegates to declare all the possible IResult types they can return, enabling compile-time type checking and automatic population of all possible responses in Swagger/OpenAPI from type information

Sample Projects


An example Todos application using ASP.NET Core Minimal APIs and the Dapper library for data storage in SQLite.


Contains small examples for other types in this library.


Shows many examples of using the types in this library along with other things related to ASP.NET Core Minimal APIs.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MinimalApis.Extensions:

Package Downloads

Shared repo between repos in cloud team in Veo. No business logic, secrets or any other sensitive data in this repo only just shared functionality between repos and a few common test classes as well.

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on MinimalApis.Extensions:

Repository Stars
A place I'm trying out the new ASP.NET Core minimal APIs features.
🛍️ A practical e-commerce microservices, built with .Net 7, MassTransit, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
🪣 A practical e-commerce modular monolith, built with .Net 7, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
A source generator for minimal APIs
Resources related to my Pluralsight course on this topic.
Version Downloads Last updated
0.11.0 32,376 6/22/2023
0.10.1 21,881 12/21/2022
0.10.0 2,558 11/29/2022
0.9.1-pre.20221114.39 360 11/14/2022
0.9.0-pre.20221011.36 6,401 10/11/2022
0.8.0-pre.20220915.33 3,935 9/15/2022
0.7.2-pre.20220906.32 107 9/6/2022
0.7.1-pre.20220712.30 3,495 7/12/2022
0.7.0-pre.20220528.28 13,988 5/28/2022
0.6.0-pre.20220429.27 3,186 4/29/2022
0.5.2-pre.20220322.22 2,145 3/22/2022
0.5.1-pre.20220322.18 123 3/22/2022
0.5.0-pre.20220321.15 2,741 3/21/2022
0.4.1-pre.20211113.13 3,050 11/13/2021
0.4.0-pre.20211113.12 506 11/13/2021
0.3.1-pre.20211113.11 230 11/13/2021
0.3.1-pre.20211111.10 517 11/11/2021
0.3.0-pre.20211110.9 162 11/10/2021
0.1.0-pre.20211027.5 465 10/27/2021