Uni.API
1.0.18
See the version list below for details.
dotnet add package Uni.API --version 1.0.18
NuGet\Install-Package Uni.API -Version 1.0.18
<PackageReference Include="Uni.API" Version="1.0.18" />
<PackageVersion Include="Uni.API" Version="1.0.18" />
<PackageReference Include="Uni.API" />
paket add Uni.API --version 1.0.18
#r "nuget: Uni.API, 1.0.18"
#:package Uni.API@1.0.18
#addin nuget:?package=Uni.API&version=1.0.18
#tool nuget:?package=Uni.API&version=1.0.18
<p align="center"> <img src="https://github.com/user-attachments/assets/b282fe2a-662d-4e73-8076-1a60fd93c67b" width="200" height="200" /> </p>
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 | Versions 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. |
-
net8.0
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 8.0.8)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Swashbuckle.AspNetCore (>= 7.1.0)
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 |