Я пытаюсь создать пользовательский атрибут в моих методах контроллера, я хочу, чтобы этот атрибут получал HTTPContext, и я хочу либо разрешить ему перейти к методу, если какое-либо условие выполнено, либо вернуть BadRequest с ErrorModel Iсоздал.
это то, как мое текущее промежуточное программное обеспечение делает это, но я хотел бы, чтобы нечто похожее в качестве атрибута выше моих методов (или даже всего класса контроллера).
if (!response.Success)
{
context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
var errorMessageJson = JsonConvert.SerializeObject(new ErrorViewModel()
{
Identifier = "CPP_ERROR",
Id = 1,
Name = "INVALID_LOCATION",
Description = string.IsNullOrEmpty(computerName) ? "Werkplek is onbekend." : $"Werkplek {computerName} is niet gekoppeld aan een business balie."
});
await context.Response.WriteAsync(errorMessageJson);
}
else
{
context.SetWorkstation(response.Computer);
context.SetLocation(response.Location);
// Call the next delegate/ middleware in the pipeline
await _next(context);
}
Кто-нибудь знаеткак этого добиться?Я уже изучил пользовательский атрибут авторизации, но у меня нет контроля над HTTPResponse, который возвращается.