我们希望在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
答案 0 :(得分:4)
答案 1 :(得分:0)
谢谢你,千里!你真的帮了!
HttpConfiguration config = …
config.EnableCaseInsensitive(caseInsensitive: true);
config.EnableUnqualifiedNameCall(unqualifiedNameCall: true);
config.EnableEnumPrefixFree(enumPrefixFree: true);
config.MapODataServiceRoute("odata", "odata", edmModel);