我正在连接到在其url参数中使用括号的第三方工具。我正在代理其他人的参数,所以我没有建立这些参数,也不想完全解析它们。
我尝试过基本的参数编码,由于第三方应用程序不知道如何解析编码而失败,它会尝试直接读取编码值。
我意识到这并不是resttemplate的设计工作原理,但我们的代码中的其他地方都使用restTemplate,我不想仅为基本代理引入新服务。
有没有办法让resttemplate允许括号通过,而不试图对它们进行替换?
答案 0 :(得分:0)
您可以在URL中使用特殊字符的转义URL代码。例如如果您的网址为http://domainURL/{url-part}/rest-of-the-url
,那么您可以将其称为http://domainURL/%7Burl-part%7D/rest-of-the-url
。
以下是参考的代码段:
LoginDetails loginDetails = restTemplate.getForObject(restServiceURL +
"%7Btest-paranthesis%7D/" + userUUID, LoginDetails.class);
对于上述代码,网址为http://localhost:8087/userLogin{test-paranthesis}/842063819010