FractalDataWorks.Web.RestEndpoints
0.7.0-alpha.1022
This is a prerelease version of FractalDataWorks.Web.RestEndpoints.
dotnet add package FractalDataWorks.Web.RestEndpoints --version 0.7.0-alpha.1022
NuGet\Install-Package FractalDataWorks.Web.RestEndpoints -Version 0.7.0-alpha.1022
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="FractalDataWorks.Web.RestEndpoints" Version="0.7.0-alpha.1022" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FractalDataWorks.Web.RestEndpoints" Version="0.7.0-alpha.1022" />
<PackageReference Include="FractalDataWorks.Web.RestEndpoints" />
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 FractalDataWorks.Web.RestEndpoints --version 0.7.0-alpha.1022
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FractalDataWorks.Web.RestEndpoints, 0.7.0-alpha.1022"
#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 FractalDataWorks.Web.RestEndpoints@0.7.0-alpha.1022
#: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=FractalDataWorks.Web.RestEndpoints&version=0.7.0-alpha.1022&prerelease
#tool nuget:?package=FractalDataWorks.Web.RestEndpoints&version=0.7.0-alpha.1022&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FractalDataWorks.Web.RestEndpoints
This package provides concrete implementations of REST endpoint patterns using FastEndpoints, building on the abstractions defined in FractalDataWorks.Web.Http.Abstractions.
Features
- FastEndpoints Integration: Built on the high-performance FastEndpoints framework
- FractalDataWorks Pattern Compliance: Implements FractalDataWorks web service patterns and conventions
- Configuration-Driven: Extensive configuration options for endpoint behavior
- Security Integration: Built-in security method implementations
- Pagination Support: Comprehensive pagination with streaming and paged responses
Core Components
Base Endpoint Classes
- FractalEndpoint: Base class for endpoints returning
GenericResult<T>responses - QueryEndpoint: Specialized base for read-only query operations
- CrudEndpoint: Base for Create, Read, Update, Delete operations
- FileEndpoint: Base for file upload/download operations
Configuration System
- WebConfiguration: Main configuration class for web services
- SecurityConfiguration: Security-related configuration options
- EndpointDefaults: Default settings for different endpoint types
- ApiKeySecurityConfiguration: API key authentication configuration
Pagination
- PagedRequest: Request model for paginated data
- PagedResponse<T>: Response model for paginated results
- StreamingRequest: Request model for streaming data
- StreamingResponse<T>: Response model for streaming results
Installation
<PackageReference Include="FractalDataWorks.Web.RestEndpoints" Version="1.0.0" />
Usage
Basic Endpoint Implementation
public class GetUsersEndpoint : QueryEndpoint<GetUsersRequest, PagedResponse<User>>
{
public override void Configure()
{
Get("/users");
Summary(s => s.Summary = "Get paginated list of users");
}
public override async Task<PagedResponse<User>> ExecuteAsync(GetUsersRequest req, CancellationToken ct)
{
// Implementation here
return new PagedResponse<User>();
}
}
Configuration Setup
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddFractalDataWorksWeb(configuration =>
{
configuration.EnableApiKeyAuthentication();
configuration.ConfigureRateLimiting();
configuration.EnablePagination();
});
}
public void Configure(IApplicationBuilder app)
{
app.UseFractalDataWorksWeb();
app.UseFractalDataWorksEndpoints();
}
}
Extension Methods
- UseFractalDataWorksWeb(): Core FractalDataWorks web middleware setup
- UseFractalDataWorksEndpoints(): Endpoint discovery and registration
- UseFractalDataWorksAuthentication(): Authentication middleware setup
- UseFractalDataWorksRateLimiting(): Rate limiting middleware setup
Integration
- Builds on
FractalDataWorks.Web.Http.Abstractionsfor type definitions - Integrates with
FractalDataWorks.Configurationfor configuration management - Uses
FractalDataWorks.Servicesfor service layer patterns - Supports
FractalDataWorks.Resultsfor consistent response patterns
Build Status
This project builds successfully with warnings related to TODO items and string comparisons.
Current Implementation Status
- Core Infrastructure: ✅ Implemented
- Base Endpoint Classes: ✅ Implemented
- Configuration System: ⚠️ Partially implemented (many TODOs)
- Security Integration: ⚠️ TODO items remain
- Middleware Pipeline: ⚠️ TODO items remain
- Pagination: ✅ Implemented
Test Coverage
Current test status: Basic functionality tested
- Configuration validation tests
- Pagination request/response tests
- Base endpoint functionality tests
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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.
-
net10.0
- FastEndpoints (>= 7.1.0-beta.26)
- FractalDataWorks.Configuration (>= 0.7.0-alpha.1022)
- FractalDataWorks.Messages (>= 0.7.0-alpha.1022)
- FractalDataWorks.Results (>= 0.7.0-alpha.1022)
- FractalDataWorks.Services (>= 0.7.0-alpha.1022)
- FractalDataWorks.Services.Authentication.Abstractions (>= 0.7.0-alpha.1022)
- FractalDataWorks.Services.Data (>= 0.7.0-alpha.1022)
- FractalDataWorks.Services.Data.Abstractions (>= 0.7.0-alpha.1022)
- FractalDataWorks.Web.Http.Abstractions (>= 0.7.0-alpha.1022)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.0)
- Microsoft.Extensions.Options (>= 10.0.0-rc.2.25502.107)
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 |
|---|---|---|
| 0.7.0-alpha.1022 | 126 | 11/3/2025 |
| 0.7.0-alpha.1021 | 127 | 11/3/2025 |
| 0.7.0-alpha.1008 | 101 | 11/2/2025 |
| 0.7.0-alpha.1006 | 131 | 10/30/2025 |
| 0.7.0-alpha.1005 | 131 | 10/30/2025 |
| 0.7.0-alpha.1004 | 127 | 10/30/2025 |
| 0.7.0-alpha.1001 | 134 | 10/29/2025 |
| 0.6.0-alpha.1006 | 128 | 10/29/2025 |
| 0.6.0-alpha.1005 | 130 | 10/28/2025 |
| 0.6.0-alpha.1004 | 122 | 10/28/2025 |
| 0.6.0-alpha.1002 | 127 | 10/28/2025 |