OData函数路由约定

时间:2016-10-30 23:30:20

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

我一直在研究OData,我面临着一个特定的要求,我无法找到解决方案,它在OData中调用一个函数,参数被斜线包围,换句话说,我需要完成此任务:/ entity / key / functionName / param1 / param2 / param3 /我尝试使用[RoutePrefix("/entity/{key}/functionName/{param1}/{param2}..."] 没有任何成功。 行动是这样的:

public IHttpActionResult functionName(int key, int param1, int param2...)

我知道您可以使用[RoutePrefix("/entity({key}/functionName(param1={param1}....)获得此结果。但这不是我想要的。

有没有人知道它是否可以成功?

1 个答案:

答案 0 :(得分:2)

OData实际上是如何与Web服务进行通信的规范。它定义了如何排序,选择和过滤以及如何调用函数。你在这里建议的是调用一个函数但不是OData指定的方式,因此询问它是否可以在OData中完成并没有任何意义。我会尝试与OData分开实现它,即只使用常规的Web.API或尝试使用现有的OData格式,否则你需要重写OData库的大部分