Web API 2.2和OData V4路由约定

时间:2014-11-10 07:04:13

标签: c# asp.net-web-api odata

我升级到OData V4,我意识到路由约定已经改变。而不是

http://somesite.com/api/products/1

您将拥有以下

http://somesite.com/api/products(1)

现在这适用于未来的新应用,但我们需要支持传统应用的传统网址。有没有办法支持网址或暂时的传统网址?

如果我有以下示例

[ODataRoute("{key}")]
public async Task<IHttpActionResult> Put([FromODataUri] string key, Dealer dealer)
{
    // some logic code here        
}

我收到以下错误

The path template '{key}' on the action 'Put' in controller 'Dealers' is not a valid OData path template. Resource not found for the segment '{key}'

1 个答案:

答案 0 :(得分:1)

如果从早期版本切换到OData v4,则会有几个重大更改...例如,v3客户端将无法使用v4服务返回的响应...因此uri可能是你最少的问题..

如果您需要支持现有客户..那么您唯一的选择就是托管同一服务的两个版本。