CShells.FastEndpoints 0.0.29
CShells.FastEndpoints
FastEndpoints integration for CShells providing automatic endpoint discovery and registration for shell features.
Purpose
This package integrates FastEndpoints with CShells, allowing you to build high-performance APIs with per-shell endpoint isolation and configuration.
Key Features
- Automatic FastEndpoints discovery - Endpoints are discovered from features implementing
IFastEndpointsShellFeature - Per-shell endpoint isolation - Each shell has its own set of FastEndpoints
- Shell-scoped route prefix - Configure
EndpointRoutePrefixper shell for FastEndpoints-specific prefixing - Configurator support - Implement
IFastEndpointsConfiguratorfor custom FastEndpoints configuration
Installation
dotnet add package CShells.FastEndpoints
Quick Start
1. Create a FastEndpoints Feature
using CShells.FastEndpoints.Features;
using CShells.Features;
using Microsoft.Extensions.DependencyInjection;
[ShellFeature("MyApi", DependsOn = ["FastEndpoints"])]
public class MyApiFeature : IFastEndpointsShellFeature
{
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IMyService, MyService>();
}
}
2. Create an Endpoint
using FastEndpoints;
public class GetWeatherEndpoint : EndpointWithoutRequest<WeatherResponse>
{
public override void Configure()
{
Get("weather");
AllowAnonymous();
}
public override async Task HandleAsync(CancellationToken ct)
{
await SendAsync(new WeatherResponse { Temperature = 72 });
}
}
3. Configure Shell
{
"CShells": {
"Shells": {
"Default": {
"Features": { "Core": {}, "FastEndpoints": {}, "MyApi": {} },
"Configuration": {
"WebRouting": {
"Path": "",
"RoutePrefix": "api/v1"
},
"FastEndpoints": {
"EndpointRoutePrefix": "fe"
}
}
}
}
}
}
With this configuration, the weather endpoint is accessible at /api/v1/fe/weather.
Configuration
Route Prefixes
CShells.FastEndpoints supports two levels of route prefixing:
| Configuration Key | Scope | Description |
|---|---|---|
WebRouting:RoutePrefix |
All endpoints | Applied to all shell endpoints (minimal APIs, controllers, FastEndpoints) |
FastEndpoints:EndpointRoutePrefix |
FastEndpoints only | Applied specifically to FastEndpoints via config.Endpoints.RoutePrefix |
Custom Configurators
Implement IFastEndpointsConfigurator to customize FastEndpoints configuration:
public class MyConfigurator : IFastEndpointsConfigurator
{
public void Configure(Config config)
{
config.Serializer.Options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
}
}
Register in your feature:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IFastEndpointsConfigurator, MyConfigurator>();
}
Related Packages
- CShells.FastEndpoints.Abstractions - Interfaces for feature libraries (reference this in your feature projects)
- CShells.AspNetCore - Required for web routing and endpoint registration
Further Reading
Showing the top 20 packages that depend on CShells.FastEndpoints.
| Packages | Downloads |
|---|---|
|
Elsa.Api.Common
Provides common features to modules that expose API endpoints.
|
2 |
|
Elsa.Api.Common
Provides common features to modules that expose API endpoints.
|
4 |
|
Elsa.Api.Common
Provides common features to modules that expose API endpoints.
|
5 |
.NET 10.0
- CShells.AspNetCore (>= 0.0.29)
- CShells.FastEndpoints.Abstractions (>= 0.0.29)
- FastEndpoints (>= 7.2.0)
- JetBrains.Annotations (>= 2025.2.4)
.NET 8.0
- CShells.AspNetCore (>= 0.0.29)
- CShells.FastEndpoints.Abstractions (>= 0.0.29)
- FastEndpoints (>= 7.0.0)
- JetBrains.Annotations (>= 2025.2.4)
.NET 9.0
- CShells.AspNetCore (>= 0.0.29)
- CShells.FastEndpoints.Abstractions (>= 0.0.29)
- FastEndpoints (>= 7.0.0)
- JetBrains.Annotations (>= 2025.2.4)
| Version | Downloads | Last updated |
|---|---|---|
| 0.0.29 | 2 | 09/27/2026 |
| 0.0.28 | 2 | 09/07/2026 |
| 0.0.27 | 2 | 09/07/2026 |
| 0.0.26 | 2 | 09/07/2026 |
| 0.0.25 | 2 | 09/07/2026 |
| 0.0.24 | 3 | 09/07/2026 |
| 0.0.23 | 2 | 09/07/2026 |
| 0.0.22 | 2 | 09/07/2026 |
| 0.0.21 | 2 | 09/07/2026 |
| 0.0.20 | 2 | 09/07/2026 |
| 0.0.19 | 2 | 09/07/2026 |
| 0.0.18 | 2 | 09/07/2026 |
| 0.0.17 | 2 | 09/07/2026 |
| 0.0.16 | 2 | 09/07/2026 |
| 0.0.15 | 2 | 09/07/2026 |
| 0.0.14 | 2 | 09/07/2026 |
| 0.0.13 | 2 | 09/07/2026 |
| 0.0.12 | 2 | 09/07/2026 |
| 0.0.11 | 2 | 09/07/2026 |
| 0.0.10 | 2 | 09/07/2026 |
| 0.0.9 | 3 | 09/07/2026 |
| 0.0.8 | 2 | 09/07/2026 |
| 0.0.7 | 2 | 09/07/2026 |
| 0.0.6 | 2 | 09/07/2026 |