2015-05-28 4 views
1

Я разрабатываю веб-сервер REST с использованием Джерси и Tomcat, и у меня есть фильтры регистрации в журнале Джерси для регистрации запроса и ответа. У меня это в моем web.xml, и это сработало.Фильтр регистрации ответа Джерси, за исключением тела ответа для GET

Я хотел бы отключить тело ответа на регистрацию для ответов GET во время регистрации тела ответа для PUT и POST. Как мне это сделать?

<init-param> 
     <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name> 
     <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name> 
     <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.feature.logging.DisableEntitylogging</param-name> 
     <param-value>false</param-value> 
    </init-param> 

ответ

0

Я думаю, вы могли бы расширить фильтр так:

public class MyFilter extends com.sun.jersey.api.container.filter.LoggingFilter { 

// other (maybe fundamental) code omitted for brevity 

    @Override 
    public ContainerRequest filter(ContainerRequest request) { 
     if(!request.getMethod().equals("GET")) { 
      return super.filter(request); 
     } 
     return request; 
    } 

} 

, а затем изменить web.xml, чтобы использовать его вместо

<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value> 
Смежные вопросы