Scalar.AspNetCore
1.2.11
See the version list below for details.
dotnet add package Scalar.AspNetCore --version 1.2.11
NuGet\Install-Package Scalar.AspNetCore -Version 1.2.11
<PackageReference Include="Scalar.AspNetCore" Version="1.2.11" />
paket add Scalar.AspNetCore --version 1.2.11
#r "nuget: Scalar.AspNetCore, 1.2.11"
// Install Scalar.AspNetCore as a Cake Addin #addin nuget:?package=Scalar.AspNetCore&version=1.2.11 // Install Scalar.AspNetCore as a Cake Tool #tool nuget:?package=Scalar.AspNetCore&version=1.2.11
Scalar .NET API Reference Integration
This .NET package Scalar.AspNetCore
provides an easy way to render beautiful API references based on OpenAPI/Swagger documents.
Made possible by the wonderful work of @captainsafia on building the integration and docs written for the Scalar & .NET integration. Thanks to @xC0dex for making it awesome.
Usage
- Install the package
dotnet add package Scalar.AspNetCore --version 1.2.*
[!NOTE] We release new versions frequently to bring you the latest features and bug fixes. To reduce the noise in your project file, we recommend using a wildcard for the patch version, e.g.,
1.2.*
.
- Add the using directive
using Scalar.AspNetCore;
- Configure your application
Add the following lines to your Program.cs
for .NET 9:
builder.Services.AddOpenApi();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.MapScalarApiReference();
}
or for .NET 8 with Swashbuckle:
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
if (app.Environment.IsDevelopment())
{
app.UseSwagger(options =>
{
options.RouteTemplate = "openapi/{documentName}.json";
});
app.MapScalarApiReference();
}
That's it! 🎉 Now you will see the Scalar UI when using the defaults by navigating to /scalar/v1
in your browser.
Configuration
The MapScalarApiReference
method has an optional parameter that you can use to customize the behavior of the Scalar UI:
// Fluent API
app.MapScalarApiReference(options =>
{
options
.WithTitle("My custom API")
.WithTheme(ScalarTheme.Mars)
.WithSidebar(false)
.WithDefaultHttpClient(ScalarTarget.CSharp, ScalarClient.HttpClient)
.WithPreferredScheme("ApiKey")
.WithApiKeyAuthentication(x => x.Token = "my-api-key");
});
// Object initializer
app.MapScalarApiReference(options =>
{
options.Title = "My custom API";
options.Theme = ScalarTheme.Mars;
options.ShowSidebar = false;
options.DefaultHttpClient = new(ScalarTarget.CSharp, ScalarClient.HttpClient);
options.Authentication = new ScalarAuthenticationOptions
{
PreferredSecurityScheme = "ApiKey",
ApiKey = new ApiKeyOptions
{
Token = "my-api-key"
}
};
});
For more possible options and their default values, check out the ScalarOptions.cs class.
It is also possible to configure the options via dependency injection, using the options pattern:
builder.Services.Configure<ScalarOptions>(options => options.Title = "My custom API");
// or
builder.Services.AddOptions<ScalarOptions>().BindConfiguration("Scalar");
[!NOTE] Options which are set via the
MapScalarApiReference
method will take precedence over options set via dependency injection.
Development
- Download .NET 9.0
- Jump to the package folder:
cd packages/scalar.aspnetcore
- Do a fresh build:
dotnet build
- Run the tests:
dotnet test
And see it in action here:
- Switch to the playground:
cd playground/Scalar.AspNetCore.Playground
- Start the playground:
dotnet run
- Open this URL in the browser: http://localhost:5056/scalar/v1
Community
We are API nerds. You too? Let’s chat on Discord: https://discord.gg/scalar
License
The source code in this repository is licensed under MIT.
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 is compatible. |
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Scalar.AspNetCore:
Package | Downloads |
---|---|
devprime.stack.web
DevPrime Web |
|
Corner49.Infra
An opinionated set of infrastructure libraries for .Net applications |
|
ZStack.AspNetCore
ZStack.AspNetCore框架 |
|
chd.Api.Base
Package Description |
|
Paralax.Docs.Scalar
Paralax.Docs.Scalar - Integration with Scalar for API documentation in microservices architecture |
GitHub repositories (14)
Showing the top 5 popular GitHub repositories that depend on Scalar.AspNetCore:
Repository | Stars |
---|---|
dotnet/AspNetCore.Docs
Documentation for ASP.NET Core
|
|
dotnet/eShop
A reference .NET application implementing an eCommerce site
|
|
davidfowl/TodoApp
Todo application with ASP.NET Core Blazor WASM, Minimal APIs and Authentication
|
|
GZTimeWalker/GZCTF
The GZ::CTF project, an open source CTF platform.
|
|
SteveDunn/Vogen
A semi-opinionated library which is a source generator and a code analyser. It Source generates Value Objects
|
Version | Downloads | Last updated |
---|---|---|
1.2.70 | 116 | 12/22/2024 |
1.2.69 | 369 | 12/22/2024 |
1.2.68 | 708 | 12/21/2024 |
1.2.67 | 305 | 12/20/2024 |
1.2.66 | 1,167 | 12/20/2024 |
1.2.65 | 162 | 12/19/2024 |
1.2.64 | 2,392 | 12/18/2024 |
1.2.63 | 1,679 | 12/18/2024 |
1.2.61 | 1,549 | 12/17/2024 |
1.2.60 | 891 | 12/17/2024 |
1.2.59 | 198 | 12/17/2024 |
1.2.58 | 105 | 12/16/2024 |
1.2.57 | 670 | 12/16/2024 |
1.2.56 | 3,332 | 12/15/2024 |
1.2.55 | 2,339 | 12/13/2024 |
1.2.54 | 153 | 12/13/2024 |
1.2.53 | 4,205 | 12/11/2024 |
1.2.52 | 577 | 12/11/2024 |
1.2.51 | 5,269 | 12/10/2024 |
1.2.50 | 2,531 | 12/9/2024 |
1.2.49 | 6,934 | 12/6/2024 |
1.2.48 | 2,828 | 12/5/2024 |
1.2.47 | 3,646 | 12/4/2024 |
1.2.46 | 698 | 12/4/2024 |
1.2.45 | 42,983 | 11/27/2024 |
1.2.44 | 14,429 | 11/23/2024 |
1.2.43 | 943 | 11/22/2024 |
1.2.42 | 6,558 | 11/21/2024 |
1.2.41 | 7,127 | 11/20/2024 |
1.2.40 | 573 | 11/19/2024 |
1.2.39 | 9,378 | 11/17/2024 |
1.2.38 | 228 | 11/16/2024 |
1.2.37 | 6,737 | 11/14/2024 |
1.2.36 | 8,904 | 11/13/2024 |
1.2.35 | 1,772 | 11/12/2024 |
1.2.34 | 7,529 | 11/10/2024 |
1.2.33 | 2,182 | 11/8/2024 |
1.2.32 | 246 | 11/7/2024 |
1.2.31 | 3,171 | 11/6/2024 |
1.2.30 | 1,980 | 11/4/2024 |
1.2.29 | 3,685 | 11/1/2024 |
1.2.28 | 944 | 11/1/2024 |
1.2.27 | 5,119 | 10/30/2024 |
1.2.26 | 1,856 | 10/30/2024 |
1.2.25 | 2,089 | 10/29/2024 |
1.2.24 | 703 | 10/28/2024 |
1.2.23 | 3,408 | 10/27/2024 |
1.2.22 | 2,526 | 10/24/2024 |
1.2.21 | 2,932 | 10/23/2024 |
1.2.20 | 599 | 10/22/2024 |
1.2.19 | 97 | 10/22/2024 |
1.2.18 | 4,089 | 10/20/2024 |
1.2.17 | 335 | 10/20/2024 |
1.2.16 | 559 | 10/19/2024 |
1.2.15 | 505 | 10/19/2024 |
1.2.14 | 208 | 10/18/2024 |
1.2.13 | 194 | 10/18/2024 |
1.2.12 | 834 | 10/18/2024 |
1.2.11 | 207 | 10/17/2024 |
1.2.10 | 2,436 | 10/17/2024 |
1.2.9 | 11,724 | 10/7/2024 |
1.2.8 | 372 | 10/7/2024 |
1.2.7 | 586 | 10/3/2024 |
1.2.6 | 227 | 10/2/2024 |
1.2.5 | 1,155 | 9/28/2024 |
1.2.4 | 2,647 | 9/22/2024 |
1.2.3 | 4,937 | 9/6/2024 |
1.1.2 | 10,267 | 7/18/2024 |
1.1.1 | 4,672 | 5/21/2024 |
1.0.1 | 573 | 5/15/2024 |