Uni.API 1.0.20

There is a newer version of this package available.
See the version list below for details.
dotnet add package Uni.API --version 1.0.20
                    
NuGet\Install-Package Uni.API -Version 1.0.20
                    
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="Uni.API" Version="1.0.20" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Uni.API" Version="1.0.20" />
                    
Directory.Packages.props
<PackageReference Include="Uni.API" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Uni.API --version 1.0.20
                    
#r "nuget: Uni.API, 1.0.20"
                    
#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.
#:package Uni.API@1.0.20
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Uni.API&version=1.0.20
                    
Install as a Cake Addin
#tool nuget:?package=Uni.API&version=1.0.20
                    
Install as a Cake Tool

<p align="center"> <img src="https://github.com/user-attachments/assets/b282fe2a-662d-4e73-8076-1a60fd93c67b" width="200" height="200" /> </p>

Build and Publish Nuget Nuget GitHub last commit (branch) GitHub commit activity (branch) Static Badge Static Badge Static Badge

Uni.API

This is a project to make it a easier and more compartmentalized to work with ASP.NET API's. Instead of having a large API thats a mix of controllers, models, services, etc. why not seperate different functions into "plugins" instead?

That is the premise of this project.

The way it works, is that you create seperate projects, that act as small APIs on their own. All these projects are then combined automatically into one at runtime, depending on what plugins you want enabled/disabled.

As an example, to create a Uni.API API, simply have a console application like this:

public class Program
{
	public static void Main(string[] args)
	{
		UniAPIBuilder.CreateUniAPIBuilder<UniAPIStartup>(args).Build().Run();
	}
}

This creates a default Uni.API API, that is configured by the means of a configuration.json file that must be in the root of the executing project (and be set to be copied. This file will include a definition of what plugins to use, as well as optional configuration that the plugins could use. An example of this configuration.json can be seen below:

{
  "UsePlugins": [
    "PluginAssemblyName"
  ],

  "SomeConfigurations": {
	"value":true
  }
}

To use this project, simply include the nuget package that can be found on the NuGet Package Manager.

A complete example can be seen in the Example project.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser 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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.1 183 9/24/2025
1.1.0 165 9/24/2025
1.0.20 163 9/24/2025
1.0.19 232 6/25/2025
1.0.18 161 6/25/2025
1.0.17 154 6/25/2025
1.0.16 172 6/25/2025
1.0.15 461 2/14/2025
1.0.14 149 2/11/2025
1.0.13 130 1/27/2025
1.0.12 147 12/17/2024
1.0.11 140 12/17/2024
1.0.10 138 12/17/2024
1.0.9 130 12/17/2024
1.0.8 135 12/16/2024
1.0.7 137 12/16/2024
1.0.6 139 12/16/2024
1.0.5 140 12/16/2024
1.0.4 133 12/16/2024
1.0.3 132 12/16/2024
1.0.2 128 12/16/2024
1.0.1 121 12/16/2024
1.0.0 125 12/16/2024