我用jax-rx客户端做了一个简单的客户端请求 - 使用post。
ResponseContainer container = new ResponseContainer();
WebTarget oxipTarget = ClientBuilder.newClient().target(fullAuthUrl);
container = oxipTarget.request(MediaType.APPLICATION_JSON_TYPE).header("SQLREPORTS","DSALLOWED")
.post(Entity.entity(form.asMap(), MediaType.APPLICATION_FORM_URLENCODED),ResponseContainer.class);
所以这对我来说非常合适。但我还需要从'Set-Cookie'中读取一个cookie - 但我没有完整的回复。如何访问'Set-Cookie'?我正在使用Wildfly,如果我读取完整的响应而不是将实际数据读入ResponseContainer
,那么我似乎无法通过getEntity
方法访问实际数据,这似乎是是响应实例上唯一可用的方法。
亲切的问候
托本
答案 0 :(得分:0)
您可以获取Response
,然后使用Response.readEntity(Class type)
阅读正文。 post
被重载,带有返回Response
或实体主体对象的选项(通过将类类型指定为第二个参数,正如您所做的那样)。如果您没有指定响应实体类型(作为第二个参数),它将返回Response
Response response = target.request().post(Entity.entity(..));
ResponseContainer container = response.readEntity(ResponseContainer.class);
Map<String, NewCookie> cookies = response.getCookies();
response.close();