Skip to content

Commit c2eaeb8

Browse files
committed
- change WebResultEndpoint generic response type moniker to emphasize it will be used as response model
- update readme - bump version
1 parent 21ff58f commit c2eaeb8

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
<PackageReadmeFile>README.md</PackageReadmeFile>
1616
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1717

18-
<Version>0.1.2</Version>
18+
<Version>0.1.3</Version>
1919
</PropertyGroup>
2020
</Project>

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,18 @@ The request is processed in 'HandleAsync' method which returns a strongly typed
4545

4646
Use AddModEndpointsFromAssembly extension method to register all endpoints defined in an assembly.
4747

48+
Optional: Use FluentValidation.DependencyInjectionExtensions package to add FluentValidation validators to dependency injection for request validation.
49+
4850
Use MapModEndpoint extension method to map registered endpoints.
4951

5052
These methods register and map services required for all endpoint types.
5153

5254
``` csharp
5355
var builder = WebApplication.CreateBuilder(args);
5456

55-
builder.Services.AddModEndpointsFromAssembly(typeof(Program).Assembly);
57+
builder.Services.AddModEndpointsFromAssembly(typeof(MyEndpoint).Assembly);
58+
//Validation
59+
builder.Services.AddValidatorsFromAssemblyContaining<MyValidator>(includeInternalTypes: true);
5660

5761
var app = builder.Build();
5862

@@ -293,9 +297,9 @@ A ServiceResultEndpoint implementation, after handling request, encapsulates the
293297

294298
A WebResultEndpoint implementation, after handling request, maps the [business result](https://github.com/modabas/ModResults) of HandleAsync method to an IResult depending on the result type, state and failure type (if any). Mapping behaviour can be modified or replaced with a custom one.
295299

296-
- WebResultEndpoint&lt;TRequest, TResultValue&gt;: Has a request model, supports request validation and returns a response model as body of Minimal Api IResult if successful.
300+
- WebResultEndpoint&lt;TRequest, TResponse&gt;: Has a request model, supports request validation and returns a response model as body of Minimal Api IResult if successful.
297301
- WebResultEndpoint&lt;TRequest&gt;: Has a request model, supports request validation, doesn't have a response model to return within Minimal Api IResult.
298-
- WebResultEndpointWithEmptyRequest&lt;TResultValue&gt;: Doesn't have a request model and returns a response model as body of Minimal Api IResult if successful.
302+
- WebResultEndpointWithEmptyRequest&lt;TResponse&gt;: Doesn't have a request model and returns a response model as body of Minimal Api IResult if successful.
299303
- WebResultEndpointWithEmptyRequest: Doesn't have a request model, doesn't have a response model to return within Minimal Api IResult.
300304

301305
When result returned from handler method is in Ok state, default WebResultEndpoint response mapping behaviour is:

src/ModEndpoints/[WebResultEndpoint]/WebResultEndpoint.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77

88
namespace ModEndpoints;
99

10-
public abstract class WebResultEndpoint<TRequest, TResultValue>
11-
: BaseWebResultEndpoint<TRequest, Result<TResultValue>>
10+
public abstract class WebResultEndpoint<TRequest, TResponse>
11+
: BaseWebResultEndpoint<TRequest, Result<TResponse>>
1212
where TRequest : notnull
1313
{
1414
protected override async ValueTask<IResult> ConvertResultToResponseAsync(
15-
Result<TResultValue> result,
15+
Result<TResponse> result,
1616
HttpContext context,
1717
CancellationToken ct)
1818
{
@@ -26,7 +26,7 @@ protected override async ValueTask<IResult> HandleInvalidValidationResultAsync(
2626
HttpContext context,
2727
CancellationToken ct)
2828
{
29-
var invalidResult = validationResult.ToInvalidResult<TResultValue>();
29+
var invalidResult = validationResult.ToInvalidResult<TResponse>();
3030
return await ConvertResultToResponseAsync(invalidResult, context, ct);
3131
}
3232
}

src/ModEndpoints/[WebResultEndpoint]/WebResultEndpointWithEmptyRequest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66
namespace ModEndpoints;
77

8-
public abstract class WebResultEndpointWithEmptyRequest<TResultValue>
9-
: BaseWebResultEndpoint<Result<TResultValue>>
8+
public abstract class WebResultEndpointWithEmptyRequest<TResponse>
9+
: BaseWebResultEndpoint<Result<TResponse>>
1010
{
1111
protected override async ValueTask<IResult> ConvertResultToResponseAsync(
12-
Result<TResultValue> result,
12+
Result<TResponse> result,
1313
HttpContext context,
1414
CancellationToken ct)
1515
{

0 commit comments

Comments
 (0)