基于查询字符串参数的存在的属性路由

时间:2016-06-15 17:17:39

标签: asp.net-web-api attributerouting

我希望根据请求是GET /things/123还是GET /things/123?preview

来调用两种不同的方法

显然,这将是一种解决方法:

[RoputePrefix("api/things")]
...
[HttpGet, Route("{id}")]
public object GetThing(int id)
{
    if (Request.RequestUri.Query == "?preview")
        return GetPreview(id);
    else
        return GetFull(id);
}

...此时,它几乎就像使用bool preview = false作为参数并将?preview=true添加到请求中一样。但我想要这种语法,如果可能的话,我更愿意用路由来处理它。

由于此处未显示的原因,我无法执行下一个最简单的操作,即使用/preview作为后缀。

0 个答案:

没有答案