2016-09-06 6 views
0

Мне нужен глобальный фильтр для java-адаптера mobilefirst 8.0. Перемещайтесь, чтобы написать фильтр ContainerRequestFilter. Но мне нужны некоторые мобильные данные. ConfigurationAPI, AdaptersAPI. Как я могу получить его в этом контексте? Или есть другой способ вызвать некоторый код со всеми методами java-адаптера?Как написать глобальный фильтр для java-адаптера mobilefirst 8.0

+0

Можете ли вы лучше определить, что такое «глобальный фильтр»? Как этот Java-адаптер отличается от любого другого примера адаптера Java, который уже существует для v8.0? –

+0

теперь im написать аннотацию, унаследованную от ContainerRequestFilter. но он будет использоваться для всех java-адаптеров и всех методов на сервере mobilefirst 8.0. может быть его некоторой глобальной аннотацией. но я сталкиваюсь с сухим контекстом и имею только контейнер ContainerRequestContext. –

ответ

2

Вы можете написать ContainerRequestFilter и использовать его с адаптером. Все, что вам нужно сделать, это добавить метод getClasses() в класс приложения адаптера (если он не находится в том же пакете, что и класс приложения, в этом случае это произойдет автоматически).

Вы можете использовать аннотацию @Context в фильтрах для ввода любого необходимого вам МФП-API, как в ваших классах ресурсов.

Вот рабочий пример:

public class MyRequestFilter implements ContainerRequestFilter { 

    @Context 
    ConfigurationAPI configApi; 

    @Override 
    public void filter(ContainerRequestContext requestContext) throws IOException { 
     doStuff(); 
    } 
} 
+0

Я не понимаю, как метод адаптера вызовет MyRequestFilter. Вы можете объяснить, пожалуйста? –

+0

Метод адаптера не будет называть его. Зарегистрированный фильтр будет вызываться автоматически до/после адаптера с помощью фреймворка. –

Смежные вопросы