WebAPI 2.2 中没有命名空间的 OData v4 自定义函数
OData v4 Custom functions without namespace in WebAPI 2.2
我们想在 WebAPI 2.2 上为我们的新项目使用 ODataV4,但有一个不行:url 设计。
我们必须通过我们的 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
第一个问题,请参考http://odata.github.io/WebApi/#06-01-custom-url-parsing。
谢谢千里!你真的帮了大忙!
HttpConfiguration config = …
config.EnableCaseInsensitive(caseInsensitive: true);
config.EnableUnqualifiedNameCall(unqualifiedNameCall: true);
config.EnableEnumPrefixFree(enumPrefixFree: true);
config.MapODataServiceRoute("odata", "odata", edmModel);
我们想在 WebAPI 2.2 上为我们的新项目使用 ODataV4,但有一个不行:url 设计。 我们必须通过我们的 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
第一个问题,请参考http://odata.github.io/WebApi/#06-01-custom-url-parsing。
谢谢千里!你真的帮了大忙!
HttpConfiguration config = …
config.EnableCaseInsensitive(caseInsensitive: true);
config.EnableUnqualifiedNameCall(unqualifiedNameCall: true);
config.EnableEnumPrefixFree(enumPrefixFree: true);
config.MapODataServiceRoute("odata", "odata", edmModel);