Как внедрить @Context при использовании запросов FIQL в Apache CXF - JAX-RS? - PullRequest
0 голосов
/ 23 сентября 2011

Я пытаюсь реализовать поисковые запросы FIQL, и я следую инструкциям на http://cxf.apache.org/docs/jax-rs-advanced-features.html#JAX-RSAdvancedFeatures-FIQLsearchqueries.

Проблема в том, что SearchContext всегда равен нулю, и я получаю исключение NullPointerException во время выполнения.

Мой пример кода:

@Context
private SearchContext searchContext;

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

Я получаю исключение NullPointerException при выполнении метода getCondition для searchContext.

Остальные звонки работают.

Есть ли способ внедрить или настроить SearchContext, чтобы я мог выполнить поисковый запрос fiql?

Ответы [ 2 ]

0 голосов
/ 03 марта 2016

Вам необходимо добавить SearchContextProvider на ваш jaxrs: сервер

пример:

<jaxrs:server id="myWebServices" address="/ws">
        [...]
        <jaxrs:providers>
            [...]
            <bean class="org.apache.cxf.jaxrs.ext.search.SearchContextProvider"/>
        </jaxrs:providers>
    </jaxrs:server>
0 голосов
/ 10 апреля 2012

Кажется, есть какая-то проблема с введением @Context (s) ... Я смог заставить это работать с помощью

 public List<Actor> getActorBy(@Context SearchContext searchContext) {
...
...