假设:
WebTarget target = client.target("http://www.someurl.com");
target.queryParam("id", "1").request().post();
当对该目标发出请求时,如何使用Jersey api获取http://www.someurl.com?id=1的完整URL?
答案 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());