Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java REST-从响应中获取资源URI(不是ClientResponse)_Java_Rest_Jersey_Cxf_Resteasy - Fatal编程技术网

Java REST-从响应中获取资源URI(不是ClientResponse)

Java REST-从响应中获取资源URI(不是ClientResponse),java,rest,jersey,cxf,resteasy,Java,Rest,Jersey,Cxf,Resteasy,如何从Response.class中获取资源URI路径/位置?当我使用Apache CXF客户端API调用restful服务时,如下所示: Response res = resource.post(object); 我返回JAX-RS响应类型。CXF不像Jersey或RestEasy那样是自己的响应实现。那么,如何从Response.class中获取我创建对象的URI呢 在泽西岛,我正在和一个ClientResponse.class打交道。在那里,我可以处理这一问题: res.getLoc

如何从Response.class中获取资源URI路径/位置?当我使用Apache CXF客户端API调用restful服务时,如下所示:

 Response res = resource.post(object);
我返回JAX-RS响应类型。CXF不像Jersey或RestEasy那样是自己的响应实现。那么,如何从Response.class中获取我创建对象的URI呢

在泽西岛,我正在和一个ClientResponse.class打交道。在那里,我可以处理这一问题:

 res.getLocation(); 

RestEasy也有一个ClientResponse.class,我可以像jersey一样处理这个问题。

jersey ClientResponse从标题中获取位置:

/**
 * Get the location.
 *
 * @return the location, otherwise <code>null</code> if not present.
 */
public URI getLocation() {
    String l = getHeaders().getFirst("Location");
    return (l != null) ? URI.create(l) : null;
}
JAX-RS响应通过getMetadata提供头信息:


如果不起作用,打印元数据内容。可能密钥有另一个名称。

Jersey ClientResponse从标题中获取位置:

/**
 * Get the location.
 *
 * @return the location, otherwise <code>null</code> if not present.
 */
public URI getLocation() {
    String l = getHeaders().getFirst("Location");
    return (l != null) ? URI.create(l) : null;
}
JAX-RS响应通过getMetadata提供头信息:


如果不起作用,打印元数据内容。可能钥匙有另一个名字。

它在Jersey 2.8上不起作用。标题中没有URI。这可能是因为重定向?它在Jersey 2.8上不起作用。标题中没有URI。可能是因为重定向?今天这也让我非常恼火。不幸的是,我只是把webTarget带到了我想要访问URI的地方,一个实用工具日志记录方法,并在那里使用target.URI:令人沮丧的是,今天这也让我非常恼火。遗憾的是,我只是把webTarget带到了我想通过实用工具日志方法访问URI的地方,并在那里使用target.URI:令人沮丧
response.getMetadata().getFirst("Location");