无法对softlayer REST URI中的对象过滤器进行URL编码

时间:2017-03-21 09:57:38

标签: url-encoding ibm-cloud-infrastructure

我通过Rest调用Get方法,我的URI包含{},用于Softlayer中的对象过滤器。我使用%7B作为{和%7D for},但我得到了java.net.URISyntaxException。

URI还包含我用%40替换的@。这很有效。我正在使用http Client执行我的Rest Call。无论是否有URL编码,URI都可以在Postman上正常工作。

1 个答案:

答案 0 :(得分:0)

这里有两种方式可以跳过或处理@:

跳过特殊字符的另一种方法是,在任何这些字符的开头使用“\”,这里有一个例子:

此外,有必要跳过 {}“:( objectFilters中的特殊字符),如果你继续使用异常,那么如果你能提供一个例子或确切的代码就会很好你正在努力寻求进一步的帮助

如何获取特定数据中心的虚拟客人

此处有 dal05 数据中心的休息请求:

https://api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask%5Bid%2Chostname%5D&objectFilter=%7B%22virtualGuests%22%3A%7B%22datacenter%22%3A%7B%22name%22%3A%7B%22operation%22%3A%22dal05%22%7D%7D%7D%7D