SwaggerUi.OpenApi
0.6.0
dotnet add package SwaggerUi.OpenApi --version 0.6.0
NuGet\Install-Package SwaggerUi.OpenApi -Version 0.6.0
<PackageReference Include="SwaggerUi.OpenApi" Version="0.6.0" />
paket add SwaggerUi.OpenApi --version 0.6.0
#r "nuget: SwaggerUi.OpenApi, 0.6.0"
// Install SwaggerUi.OpenApi as a Cake Addin #addin nuget:?package=SwaggerUi.OpenApi&version=0.6.0 // Install SwaggerUi.OpenApi as a Cake Tool #tool nuget:?package=SwaggerUi.OpenApi&version=0.6.0
SwaggerUi.OpenApi
A package to simplify adding Swagger UI to .NET 9's Microsoft.AspNetCore.OpenApi.
Usage
In your Program.cs
file Add app.AddSwaggerUi()
and app.MapSwaggerUi()
:
builder.Services.AddOpenApi();
builder.Services.AddSwaggerUi();
var app = builder.Build();
app.MapOpenApi();
app.MapSwaggerUi();
If you want to add authentication to your Swagger you can use following helper methods:
builder.Services.AddOpenApi("v1", o =>
{
o.AddOAuth2(authorizationUrl, tokenUrl, scopes);
});
builder.Services.AddSwaggerUi("v1", o =>
{
o.AddOAuth2(clientId, scopes);
});
There are other helper methods for Duende Identity Server AddIdentityServer()
and Auth0 AddAuth0
.
You can check the samples directory for complete working examples.
Features
More snippet
Adds PowerShell and CMD cURL to the request snippet by default
Styles
Easily change syntax highlighting style
builder.Services.AddSwaggerUi(o =>
{
o.SyntaxHighlight = new SyntaxHighlightOptions
{
Theme = SyntaxHighlightThemeType.Arta
};
});
Parameter validation
Displays the common validations in the parameters form by default
app.MapGet("/products",
([Range(0, 10000)] int id,
[MinLength(3)][MaxLength(50)] string name,
[RegularExpression("\\d\\d-\\d\\d")] string code) => id)
Authorization persistence
Persists authorization data by default and it would not be lost on browser close or refresh so you don't have to authenticate everytime.
Roadmap
✅ Basic UI
✅ Authentication
✅ Enable all the documents
✅ Implement all Swagger UI options
⏳ Improve test coverage
Acknowledgement
This project is based on Swashbuckle.AspNetCore.SwaggerUI. Thanks for their awesome work.
Pre-release builds
Get the package from here.
Build
Install the required .NET SDK and run:
$ dotnet build
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
- Microsoft.AspNetCore.OpenApi (>= 9.0.0-rc.2.24474.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.