odata中的实体版本使用web api中的accept头

时间:2013-05-13 18:50:48

标签: asp.net-mvc rest odata asp.net-web-api

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

接受:application / 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以考虑接受标头?

先谢谢。

1 个答案:

答案 0 :(得分:2)

我们在使用Web API OData进行版本控制时有很好的示例。你可以找到它here