반응형
Jersey : 실제 요청 인쇄
Jersey가 생성하여 서버로 보내는 실제 요청을 보려면 어떻게해야합니까? 특정 요청에 문제가 있으며 웹 서버를 실행하는 동료가 전체 요청을 보도록 요청했습니다 (헤더 등).
Jersey Client API를 사용하는 경우 LoggingFilter (클라이언트 필터)가 도움이 될 것입니다.
Client client = Client.create();
client.addFilter(new LoggingFilter(System.out));
WebResource webResource = client.resource("http://localhost:9998/");
ClientResponse response = webResource.accept(MediaType.APPLICATION_JSON)
.get(ClientResponse.class);
그렇지 않으면 다른 LoggingFilter (컨테이너 필터)를 사용하여 서버에서 요청과 응답을 다시 기록 할 수 있습니다 .
@ ivan.cikic의 대답은 Jersey 1.x입니다. Jersey 2.x에서 수행하는 방법은 다음과 같습니다.
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.filter.LoggingFilter;
import org.json.JSONException;
import org.json.JSONObject;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.MediaType;
...
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
client.register(new LoggingFilter());
이것은 관련이 있지만, 난 그냥 이 불평 : 새로운는 LoggingFilter이 자바 백분율 로깅을 사용하도록 강제하기 때문에 정말 짜증나입니다. 로거를 제어 할 수 있다면 더 좋을 것입니다. 디자인에서 한 걸음 뒤로 물러 난 것 같습니다.
이후 뉴저지 2.23 하는 거기 LoggingFeature당신이 사용할 수 있습니다. 다음은 약간 단순화 된 예 WebTarget입니다. 기능을 등록 할 수도 있습니다.
Logger logger = Logger.getLogger(getClass().getName());
Feature feature = new LoggingFeature(logger, Level.INFO, null, null);
Client client = ClientBuilder.newBuilder()
.register(feature)
.build();
Response response = client.target("https://www.google.com")
.queryParam("q", "Hello, World!")
.request().get();
JavaDoc은 LoggingFeature요청 "및 / 또는"응답이 lol로 기록된다고 말합니다. 내 컴퓨터에는 둘 다 기록됩니다.
참고 URL : https://stackoverflow.com/questions/6860661/jersey-print-the-actual-request
반응형
'Programing' 카테고리의 다른 글
| IPython Notebook에서 출력을 어떻게 억제합니까? (0) | 2020.09.21 |
|---|---|
| GSON을 사용하는 Json의 Kotlin 데이터 클래스 (0) | 2020.09.21 |
| 일반 배열을 만드는 방법은 무엇입니까? (0) | 2020.09.21 |
| UIScrollView에서 세로 스크롤 비활성화 (0) | 2020.09.20 |
| Python이 C ++보다 빠르고 가볍습니까? (0) | 2020.09.20 |