1

我正在使用 Web API 创建 RESTful 服务。我决定按照这个实现使用 Accept 标头作为 api 版本控制机制。 http://blog.maartenballiauw.be/post/2013/03/08/Custom-media-types-for-ASPNET-Web-API-versioning.aspx

接受:应用程序/json;版本=1

对于实体标准化和查询能力,我打算使用 Odata。目前我看到的问题是 odata 只支持(或只有我知道)使用 url 的实体版本控制。

 modelBuilder1.EntitySet<V1.Product>("Products");
 modelBuilder2.EntitySet<V2.Product>("Products");

 Microsoft.Data.Edm.IEdmModel model1 = modelBuilder1.GetEdmModel();
 Microsoft.Data.Edm.IEdmModel model2 = modelBuilder2.GetEdmModel();

 config.Routes.MapODataRoute("ODataRoute1", "api\v1", model1);
 config.Routes.MapODataRoute("ODataRoute2", "api\v2", model2);

是否有任何解决方案可用于配置 odata 以考虑接受标头?

提前致谢。

4

1 回答 1

2

我们有一个非常好的使用 Web API OData 进行版本控制的示例。你可以在这里找到

于 2013-05-17T06:04:20.177 回答