OData v4 WebAPI 2.2中没有命名空间的自定义函数

时间:2015-05-30 21:06:46

标签: asp.net-web-api odata asp.net-web-api2

我们希望在WebAPI 2.2上使用ODataV4用于我们的新项目,但有一个禁止:网址设计。 我们必须通过我们的api传送json数据和二进制数据(图像)。

是否有可能避免OData路由上自定义函数的命名空间外观? /odata/Customers/GetByName('Name')代替/odata/Customers/CustomerService.GetByName('Name')

如何使用OData控制器实现二进制数据(jpeg图像)的响应? 一个非常丑陋的方式是在一个项目中托管OdataControllers和ApiControllers并使用不同的url区域。

/odata/Customers(1) -> OdataControllers /api/Customers/1/ProfileImage -> ApiController

2 个答案:

答案 0 :(得分:4)

关于第一个问题,请参阅http://odata.github.io/WebApi/#06-01-custom-url-parsing

答案 1 :(得分:0)

谢谢你,千里!你真的帮了!

HttpConfiguration config = …
config.EnableCaseInsensitive(caseInsensitive: true);
config.EnableUnqualifiedNameCall(unqualifiedNameCall: true);
config.EnableEnumPrefixFree(enumPrefixFree: true);
config.MapODataServiceRoute("odata", "odata", edmModel);