泽西岛:打印实际请求
如何查看泽西岛生成并发送到服务器的实际请求?我在特定请求时遇到问题,运行Web服务器的家伙要求查看完整的请求(带有标头等)。
如何查看泽西岛生成并发送到服务器的实际请求?我在特定请求时遇到问题,运行Web服务器的家伙要求查看完整的请求(带有标头等)。
如果您只使用泽西客户端 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);
否则,您可以使用其他日志记录筛选器(容器筛选器)再次在服务器上记录请求和响应。
从泽西岛2.23开始,您可以使用一个LogingFeature
。下面是一个简化的示例,请注意,您也可以在 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 表示请求“和/或”响应被记录为 lol。在我的计算机上,两者都被记录。LoggingFeature