CSharpFunctionalExtensions.Asp
0.1.0-alpha.10
This is a prerelease version of CSharpFunctionalExtensions.Asp.
dotnet add package CSharpFunctionalExtensions.Asp --version 0.1.0-alpha.10
NuGet\Install-Package CSharpFunctionalExtensions.Asp -Version 0.1.0-alpha.10
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="CSharpFunctionalExtensions.Asp" Version="0.1.0-alpha.10" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSharpFunctionalExtensions.Asp --version 0.1.0-alpha.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: CSharpFunctionalExtensions.Asp, 0.1.0-alpha.10"
#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 CSharpFunctionalExtensions.Asp as a Cake Addin #addin nuget:?package=CSharpFunctionalExtensions.Asp&version=0.1.0-alpha.10&prerelease // Install CSharpFunctionalExtensions.Asp as a Cake Tool #tool nuget:?package=CSharpFunctionalExtensions.Asp&version=0.1.0-alpha.10&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CSharpFunctionalExtensions.Asp
ToActionResult extension method converts Result<T, Error> from CsharpFunctionalExtensions to Asp.Net Core ActionResult.
Run the sample program to try it out.
Example:
public ActionResult<AuthenticationResult> Register(RegisterRequest request) =>
Domain.User.Create(request.firstName, request.lastName, request.email, request.password)
.Bind(user => Result.Success<AuthenticationResult, ErrorList>(new AuthenticationResult(user, "token")))
.ToActionResult(this);
If a validation failure occurs, it will return a response like
HTTP/1.1 400 Bad Request
Connection: close
Content-Type: application/problem+json; charset=utf-8
Date: Mon, 14 Nov 2022 20:29:19 GMT
Server: Kestrel
Transfer-Encoding: chunked
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-19b910c84bc8651a1c6d26e9ee640813-59f0f7943ce1d3ab-00",
"errors": {
"lastName": [
"The lastName field is required."
],
"firstName": [
"The firstName field is required."
]
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- CSharpFunctionalExtensions.Errors (>= 0.1.0-alpha.10)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
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.1.0-alpha.10 | 134 | 2/2/2023 |
0.1.0-alpha.5 | 114 | 1/31/2023 |
0.0.1-alpha | 105 | 12/9/2022 |
0.0.0.1-alpha | 107 | 11/14/2022 |