Java jax rx客户端post如何接收JSON和Cookie?

Java jax rx客户端post如何接收JSON和Cookie?,java,cookies,jax-rs,Java,Cookies,Jax Rs,我使用post通过jax rx客户端发出了一个简单的客户端请求 ResponseContainer container = new ResponseContainer(); WebTarget oxipTarget = ClientBuilder.newClient().target(fullAuthUrl); container = oxipTarget.request(MediaType.APPLICATION_JSON_TYPE).header("SQLREPORTS","DSALLOWE

我使用post通过jax rx客户端发出了一个简单的客户端请求

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);
所以这对我来说非常有效。但我还需要从“设置cookie”中读取cookie,但我没有完整的响应。如何访问“设置Cookie”?我使用的是Wildfly,如果我读取完整响应而不是将实际数据读入
ResponseContainer
,那么我似乎无法通过
getEntity
方法访问实际数据,这似乎是响应实例上唯一可用的方法

问候


Torben

您可以获得
响应
,然后使用。重载,带有返回
响应
或实体体对象的选项(通过指定类类型作为第二个参数,就像您正在做的那样)。如果不指定响应实体类型(作为第二个参数),它将返回
response

Response response = target.request().post(Entity.entity(..));
ResponseContainer container = response.readEntity(ResponseContainer.class);
Map<String, NewCookie> cookies = response.getCookies();
response.close();
Response-Response=target.request().post(Entity.Entity(..);
ResponseContainer=response.readEntity(ResponseContainer.class);
映射cookies=response.getCookies();
response.close();

我使用的是Intellij,在我编写时,它没有向我展示使用readEntity(ResponseContainer.class)的可能性。我只有getEntity的响应。这是WildFly提供的Resteasy 3.0.8最终版本,那么您一定使用了错误的
响应
类。确保它是正确的。这个类从JAX-RS 1.0开始就可用了,所以Resteasy 3.x.x将拥有它。更正:,是JAX-RS 2.0的一部分,Resteasy 3.x.x实现了它。我很好奇您是否正在使用JavaEE6API(它没有这个方法)。如果你不能让它工作,你能更新你的帖子来显示你的依赖关系吗?实际上你使用的客户端API是2.0客户端API,所以没有理由不使用
javax.ws.rs.core.Response