This package contains logic that can run API request parameter validators automatically.
$ dotnet add package RKSoftware.Packages.ApiRequestValidationRepository contains functionality for validation API requests.
| Package | Current version and Downloads |
|---|---|
| RKSoftware.Packages.ApiRequestValidation |
This package contains ActionExecutingContext extensions for validation URL parameters together with Body, Form and Query model validation.
id in URL posts/{id}/pages is empty, an endpoint returns Not Found response.[FromBody], [FromForm] or [FromQuery] is not valid, an endpoint returns Bad Request response with ValidationProblemDetails model.
It uses FluentValidation (https://github.com/FluentValidation/FluentValidation) for validating models.Create FluentValidation model validator in accordance with documentation https://docs.fluentvalidation.net/en/latest/start.html.
Register created validator
builder.Services.AddScoped<IValidator<BodyModel>, BodyModelValidator>();
or register all created validators from the same assembly
builder.Services.AddValidatorsFromAssemblyContaining<BodyModelValidator>();
ApiRequestValidation[ApiRequestValidation]
public class MyController : Controller
{
}
or
public class MyController : Controller
{
[ApiRequestValidation]
[HttpPost("posts/{id}/pages")]
public async Task<IActionResult> Create(string id, [FromBody] BodyModel body, [FromQuery] QueryModel query)
{
...
}
}