我希望根据请求是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
作为后缀。