Представляем JustController:
// many using directives
namespace MyWebApiProject.Controllers
{
[Route("api/[controller].[action]")]
[ApiController]
public class JustController : ControllerBase
{
[HttpPost]
public async Task<ActionResult> GetById(/*Model Class*/ body)
{
return StatusCode(/* http status code */, "THIS IS NEEDED VALUE"); // <- Look at this!
}
}
}
У нас также есть промежуточное ПО:
// many using directives
public class StatusCodeMiddleware
{
private readonly RequestDelegate _next;
public StatusCodeMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext httpContext)
{
await _next(httpContext);
/*
How to get "THIS IS NEEDED VALUE" from HttpContext here
*/
}
}
public static class StatusCodeMiddlewareExtensions // For convenient use in Startup.cs
{
public static void ConfigureCustomStatusCodeMiddleware(this IApplicationBuilder app)
{
app.UseMiddleware<StatusCodeMiddleware>();
}
}
Startup.cs:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.ConfigureCustomStatusCodeMiddleware();
app.UseRouting();
app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
}
Как получить «ЭТО НУЖНО ЗНАЧЕНИЕ» из HttpContext внутри метода InvokeAsyn c (), внутри StatusCodeMiddleware?
Заранее спасибо! Я действительно надеюсь, что аудитория Stack Overflow поможет мне! Я гуглил решение этой проблемы 2 дня, поэтому ничего не нашел. Извините за мой плохой Энгли sh!