2013-04-15 3 views
2

Access-Control-Allow-Origin 헤더를 내 애플리케이션의 모든 Jersey 요청에 추가하고 싶습니다. Jersey 서블릿을 통해이 작업을 수행 할 수 있습니까?모든 Jersey 요청에 헤더를 추가하는 방법

ServletRegistration jerseyServletRegistration = ctx.addServlet("JerseyServlet", new ServletContainer()); 
    jerseyServletRegistration.setInitParameter("com.sun.jersey.config.property.packages", "com.production.resource"); 
    jerseyServletRegistration.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true"); 
    jerseyServletRegistration.setLoadOnStartup(1); 
    jerseyServletRegistration.addMapping("/api/*"); 

답변

0
import java.util.ArrayList; 
import java.util.List; 
import java.util.Map; 

import com.sun.jersey.api.client.Client; 
import com.sun.jersey.api.client.ClientRequest; 
import com.sun.jersey.api.client.ClientResponse; 
import com.sun.jersey.api.client.filter.ClientFilter; 

public final class JerseySample { 

    public static void main(final String[] args) { 
    final Client client = Client.create(); 

    client.addFilter(new ClientFilter() { 

     @Override 
     public ClientResponse handle(final ClientRequest request) { 
     final Map<String, List<Object>> headers = request.getHeaders(); 

     final List<Object> valueList = new ArrayList<Object>(); 

     valueList.add("Sample Value"); 

     headers.put("Sample-Header", valueList); 

     return getNext().handle(request); 
     } 

    }); 

    ... 
    } 

} 

http://jersey.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/client/filter/ClientFilter.html

관련 문제