繁体   English   中英

使用WebTarget时指定原始查询字符串

[英]Specify raw query string when using WebTarget

我正在处理一个大型现有项目,该项目利用javax.ws.rs.client.WebTarget与RESTful API进行通信。 该API是由第三方开发的,我对此无能为力。 我需要以以下格式发出请求:

https://end.point.url/endpoint/id?data

不幸的是,我不知道如何使用WebTarget来指定这样的请求。 我尝试使用path("endpoint/id?data") ,但这被转换为endpoint/id%3Fdata ,我得到404。 我尝试使用queryParam指定空值,这使我得到了endpoint/id?data= -这导致错误的必需参数data丢失

还有什么其他选择? 用其他东西替换WebTarget是不可行的,因为这遍及整个大型项目。

首先,相关问题: Jersey客户端的网址编码问题

经过大量研究,似乎唯一的方法是在创建WebTarget时指定整个uri,如下所示:

Client client = ClientBuilder.newClient().register(authFeature);
WebTarget webTarget = client.target("https://end.point.url/endpoint/id?data")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM