BadRequest по запросу с несуществующим фильтром - PullRequest
0 голосов
/ 04 июня 2018

У меня есть вопрос.Есть ли способ в ядре ASP.NET вернуть BadRequestResult при вызове контроллера REST API, если запрос содержит фильтр, который не существует?

Определение метода выборки public async Task<IActionResult> GetUsers(string cardNr)

Results

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете добавить фильтр действий, который проверяет, соответствуют ли параметры запроса аргументам действий:

public class ValidateQueryFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        var queryKeys = context.HttpContext.Request.Query.Keys;
        var args = context.ActionArguments;
        if (queryKeys.Any(k => !args.ContainsKey(k)))
        {
            context.Result = new BadRequestResult();
            return;
        }
        base.OnActionExecuting(context);
    }
}

И добавить этот атрибут в действия, для которых вы хотите проверку аргументов

...