BadRequest 根据不存在的过滤器请求
BadRequest on request with nonexistent filter
我有一个问题。
如果请求包含不存在的过滤器,在调用 REST API 控制器时 ASP.NET 核心是否有方法 return BadRequestResult
?
示例方法定义
public async Task<IActionResult> GetUsers(string cardNr)
您可以添加一个操作过滤器来检查查询参数是否与操作参数匹配:
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);
}
}
并在需要参数验证的操作上添加此属性
我有一个问题。
如果请求包含不存在的过滤器,在调用 REST API 控制器时 ASP.NET 核心是否有方法 return BadRequestResult
?
示例方法定义
public async Task<IActionResult> GetUsers(string cardNr)
您可以添加一个操作过滤器来检查查询参数是否与操作参数匹配:
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);
}
}
并在需要参数验证的操作上添加此属性