2011-08-22 12 views
5

Używam koszulki do generowania żądań http i chciałbym móc zobaczyć żądanie przed wysłaniem (w celu debugowania).jersey.api.client.WebResource - jak debugować/rejestrować nagłówki żądań

Na przykład:

WebResource resource = client.resource(url); 
resource.header("aa", "bb"); 
resource.getHeaders(); // Error: how can I do it? 

dzięki

+0

możliwe duplikat [Jersey: Broszura faktyczną prośbę] (http://stackoverflow.com/questions/6860661/jersey-print-the-actual-request) – mateuscb

Odpowiedz

9

Można użyć LoggingFilter, jak pokazano here

+0

To jest po stronie klienta. Jak to zrobić po stronie serwera? –

-2

Trzeba dodać startowe params a następnie wdrożyć ContainerRequestFilter

umieścić go w web.xml Pamiętaj, że com.az.jersey.server.AuthFilter to Twoja klasa, która wdrożyła mentione d powyżej interfejsu.

<init-param> 
      <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name> 
      <param-value>com.sun.jersey.api.container.filter.LoggingFilter;com.az.jersey.server.AuthFilter</param-value> 
     </init-param> 



public class AuthFilter implements ContainerRequestFilter { 
    /** 
    * Apply the filter : check input request, validate or not with user auth 
    * 
    * @param containerRequest 
    *   The request from Tomcat server 
    */ 
    @Override 
    public ContainerRequest filter(ContainerRequest containerRequest) throws WebApplicationException { 
     //GET, POST, PUT, DELETE, ... 
     String method = containerRequest.getMethod(); 
     // myresource/get/56bCA for example 
     String path = containerRequest.getPath(true);   

     return containerRequest; 
    } 
Powiązane problemy