无法对软层 REST URI 中的对象过滤器进行 URL 编码 { }



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

URI 还包含 @,我已将其替换为 %40。这是有效的。我正在使用http客户端来执行我的Rest Call。URI在Postman上工作正常,无论有没有URL编码。

这里有两种跳过或处理@的方法:

  • 如何在软层中处理"@" 休息调用

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

  • SoftLayer getUsers by userStatusID

另外,有必要跳过{}":(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

最新更新