1 回答
TA贡献1805条经验 获得超10个赞
你可以使用action filter来获取动作parameters和请求的查询字符串queryParameters。然后判断查询参数是否都在动作中使用。
public override void OnActionExecuting(ActionExecutingContext context)
{
var parameters = context.ActionDescriptor.Parameters;
var queryParameters = context.HttpContext.Request.Query;
if (queryParameters.Select(kvp => kvp.Key).All(queryParameter => parameters.Any(p => p.Name == queryParameter)))
{
base.OnActionExecuting(context);
}
else
{
context.Result = new BadRequestObjectResult("Querystring does not match");
}
}
在控制器中:
[TypeFilter(typeof(TestQueryActionFilter))]
public void MyAction(int id, string name)
- 1 回答
- 0 关注
- 67 浏览
添加回答
举报