在路径和查询中带有参数的WebApi 2路由

时间:2018-07-19 19:36:12

标签: c# asp.net-web-api routes asp.net-web-api2

最近,我开始将现有的Web服务从WCF迁移到ASP.NET WebApi2。一个旧式端点有点奇怪,而且我在确定如何在WebApi控制器中复制它方面遇到了问题。问题在于端点具有与路径部分相同名称的查询参数。

在WCF中,我们有...

[WebGet(UriTemplate = "configuration/id?id={id}")]
Config GetConfigByID(string id);

我试图在控制器中复制它,但是客户端出现404错误。

[Route("configuration/id")
public IHttpActionResult GetConfigByID(string id)
{
    Config config = GetConfig(id);
    return Ok(config);
}

我想更改端点,所以我需要它与现有客户端一起使用。

2 个答案:

答案 0 :(得分:0)

[Route("configuration/id")
public IHttpActionResult GetConfigByID([FromUri] string id)
{
    Config config = GetConfig(id);
    return Ok(config);
}

您可以尝试 FromUri 属性

答案 1 :(得分:0)

没关系。我的确切问题很好。控制器中的其他东西有些发胖。继续...