Нам нужно реализовать интерфейс ContainerRequestFilter для создания фильтра Джерси.Ниже приведен пример кода для перехвата и изменения запроса с использованием фильтра джерси:
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerRequestFilter;
import javax.ws.rs.core.MultivaluedMap;
import org.apache.log4j.Logger;
/**
*
* @author arnav
*/
public class MyAppFilter implements ContainerRequestFilter{
public ContainerRequest filter(ContainerRequest request) {
MultivaluedMap<String, String> headers = request.getRequestHeaders();
headers.add("code", "MY_APP_CODE");
request.setHeaders((InBoundHeaders)headers);
return request;
}
}
После добавления этого класса нам необходимо зарегистрировать этот фильтр для нашего веб-приложения.Так что теперь мы добавим следующие строки в наш web.xml:
<servlet>
..........
..........
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>package.MyAppFilter</param-value>
</init-param>
</servlet>