Jersey 2.22:如何从WebTarget检索URL(使用QueryParams)?

时间:2016-05-09 22:37:24

标签: java url jersey

假设:

WebTarget target = client.target("http://www.someurl.com");

target.queryParam("id", "1").request().post();

当对该目标发出请求时,如何使用Jersey api获取http://www.someurl.com?id=1的完整URL?

1 个答案:

答案 0 :(得分:2)

问题是,如果您查看WebTarget的javadoc,您会看到WebTarget上的大多数方法调用都会返回 new WebTarget实例。所以当你这样做时

WebTarget target = client.target("http://www.someurl.com");
target.queryParam("id", "1").request().post();
System.out.println(target.getUri());

target实例与添加查询参数的实例不同。所以你需要做

WebTarget target = client.target("http://www.someurl.com");
WebTarget newTarget = target.queryParam("id", "1");
newTarget.request().post();
System.out.println(newTarget.getUri());

或者

WebTarget target = client.target("http://www.someurl.com").queryParam("id", "1");
target.request().post();
System.out.println(target.getUri());