托管在Apache CXF上的Odata服务

托管在Apache CXF上的Odata服务,cxf,jax-rs,odata,Cxf,Jax Rs,Odata,我试图评估如何在CXF中托管OData服务。我主要感兴趣的是从$filter获取解析树,并使用它获取数据 我的服务堆栈使用JPA、Hibernate、Spring和Oracle DB表达式$filter是一个查询参数,因此它映射到一个已用@QueryParam注释的方法参数(指定一个默认值也非常有用,这样,如果没有提供筛选器,该方法仍然会被使用): @GET @路径(“{collection}”) @生成(“应用程序/json”) 公共SomeResultType getCollection(

我试图评估如何在CXF中托管OData服务。我主要感兴趣的是从$filter获取解析树,并使用它获取数据


我的服务堆栈使用JPA、Hibernate、Spring和Oracle DB

表达式
$filter
是一个查询参数,因此它映射到一个已用
@QueryParam
注释的方法参数(指定一个默认值也非常有用,这样,如果没有提供筛选器,该方法仍然会被使用):

@GET
@路径(“{collection}”)
@生成(“应用程序/json”)
公共SomeResultType getCollection(
@PathParam(“集合”)字符串集合,
@QueryParam(“$filter”)@DefaultValue(“”)字符串筛选器){
//…在此处执行筛选查询。。。
}
另请参见描述CXF OData扩展的地方
干杯,Sergey

我不会告诉你如何解析和评估过滤器,只是告诉你如何让CXF从OData协议映射到一个sane方法调用。您可能还需要其他
@QueryParam
/
@DefaultValue
组合;OData有很多可选的查询参数。