限制可以传递给asp.net mvc rest服务的查询参数

时间:2012-02-13 22:31:34

标签: asp.net-mvc rest

我有一些可以查询的服务:

  

http://localhost/myservice/data?key=value

有没有办法可以限制查询参数?例如。如果有人使用不支持的参数调用服务,我想报告错误,例如我想跟随失败:

http://localhost/myservice/data?key=value&anyotherparam=1

我不确定这是否正确。但是我被问到是否可以实施上述方案,所以我想给出一个合理的答案。

1 个答案:

答案 0 :(得分:1)

如果您的服务忽略了anotherparam,老实说谁在乎呢?

对于那些关心的人:

public ActionResult Data(string key)
{
    if (string.IsNullOrEmpty(key) || Request.QueryString.Count > 1)
    {
        return HttpNotFound();
    }

    ...
}

显然,如果你必须在多个动作中反复写这个,你最好将它重构为自定义动作过滤器。