FastProjects.ResultPattern
1.0.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FastProjects.ResultPattern --version 1.0.3
NuGet\Install-Package FastProjects.ResultPattern -Version 1.0.3
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="FastProjects.ResultPattern" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FastProjects.ResultPattern --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FastProjects.ResultPattern, 1.0.3"
#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.
// Install FastProjects.ResultPattern as a Cake Addin #addin nuget:?package=FastProjects.ResultPattern&version=1.0.3 // Install FastProjects.ResultPattern as a Cake Tool #tool nuget:?package=FastProjects.ResultPattern&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FastProjects.ResultPattern
Result pattern implementation with IActionResult mapping for ASP.NET Core.
Overview
- Result - Result pattern implementation
- ResultPatternToActionResultExtensions - Extensions for mapping Result to IActionResult
- ResultExtensions - Extensions for Result that checks status codes
Usage
Result
Basic usage example:
public async Task<Result<User>> GetByIdAsync(Guid id)
{
var user = await _userRepository.GetAsync(id);
if (user is null)
{
return Result.NotFound($"User with {id} not found.");
}
return Result.Success(user);
}
Translation of the result to IActionResult (example with FastEndpoints usage):
public override async Task HandleAsync(
GetUserByIdRequest request,
CancellationToken ct)
{
var command = new GetUserByIdQuery(request.UserId);
var result = await mediator.Send(command, ct);
if (result.IsSuccess)
{
Response = new GetUserByIdResponse(
Id: result.Value.Id,
Name: result.Value.Name);
}
else
{
await SendResultAsync(result.ToWebResult());
}
}
TODO:
- Add json serializer tests
- Add implicit operator tests
- Example usage with FluentValidation
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on FastProjects.ResultPattern:
Package | Downloads |
---|---|
FastProjects.SharedKernel
useful base classes that are used in Clean Architecture templates with DDD |
|
FastProjects.Endpoints
Collection of endpoint base classes that wraps FastEndpoints classes and integrated with MediatR and Result patterns. |
|
FastProjects.Caching
Collection of interfaces to work with cache. |
GitHub repositories
This package is not used by any popular GitHub repositories.