假使,假设:WebTarget target = client.target("http://www.someurl.com");
target.queryParam("id", "1").request().post();
当在该目标上完成请求时,如何使用Jersey api获取完整的URL,即http://www.someurl.com?id=1?
最佳答案
问题是,如果查看WebTarget
的javadoc,您将看到WebTarget
上的大多数方法调用都会返回一个新的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());