在Apache CXF中使用FIQL查询时如何注入@Context - JAX-RS?

时间:2011-09-23 11:30:04

标签: cxf jax-rs

我正在尝试实施FIQL搜索查询,我正在关注http://cxf.apache.org/docs/jax-rs-advanced-features.html#JAX-RSAdvancedFeatures-FIQLsearchqueries上的指南。

问题是SearchContext始终为null,我在运行时收到NullPointerException。

我的示例代码是:

@Context
private SearchContext searchContext;

@GET
@Path("/actor/")
@Override
public List<Actor> getActorBy() {
    SearchCondition<District> sc =  searchContext.getCondition(Actor.class);
}

我在searchContext上执行getCondition方法时遇到NullPointerException。

其他休息电话正在运作。

有没有办法注入或配置SearchContext,以便我能够执行fiql搜索查询?

2 个答案:

答案 0 :(得分:0)

注入@Context似乎有些问题......我能够通过

来实现这个目标
 public List<Actor> getActorBy(@Context SearchContext searchContext) {
...

答案 1 :(得分:0)

您需要将SearchContextProvider添加到您的jaxrs:server

示例:

<jaxrs:server id="myWebServices" address="/ws">
        [...]
        <jaxrs:providers>
            [...]
            <bean class="org.apache.cxf.jaxrs.ext.search.SearchContextProvider"/>
        </jaxrs:providers>
    </jaxrs:server>