2013-07-30 3 views

답변

1

가능한 해결책은 javax.ws.rs.core.Response 개체를 반환하는 것입니다. javax.ws.rs.core.Response.ResponseBuilder을 사용하면 응답에 헤더를 추가 할 수 있습니다.

업데이트 :

또 다른 해결책은 모든 응답에 헤더를 추가합니다 윙크 위에 서블릿 필터 (javax.servlet.Filter)를 추가하는 것입니다.

Btw, JAX-RS 2에서는 필터와 인터셉터를 추가 할 수 있습니다.

+0

네하지만 그 의미 내가 (모든 요청의 사본을 포함 한 모든 요청에 ​​대해이 헤더를 추가해야 다시 응답을 보낼 때 다음 코드를 사용하여 OPTIONS 요청 메소드를 처리하는). 그것은 많은 작업과 오류가 발생하기 쉽습니다. 나는 작동하는 체인에 사용자 정의 ResponseHandler를 추가하려고 시도했지만 모든 응답에 대해 헤더를 추가하는 방법을 알 수 없었다. –

+0

또 다른 해결책은 모든 응답에 헤더를 추가하는 Wink 위에 javax.servlet.Filter를 추가하는 것입니다. – Tarlog

+0

헤이 그게 작동해야합니다, 나는 그 시도를 줄 것이다. 감사! –

1

늦은 답변이지만 이후 독자에게 유용 할 수 있습니다.

Response 
      .status(200) 
      .header("Access-Control-Allow-Origin", "*") 
      .header("Access-Control-Allow-Headers", "origin, content-type, accept, authorization") 
      .header("Access-Control-Allow-Credentials", "true") 
      .header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD") 
      .header("Access-Control-Max-Age", "1209600") 
      .entity(yourJsonResponse) 
      .build(); 

응답 유형 인 : javax.ws.rs.core.Response;