api调用
GET https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/257/getConfiguration?objectMask=mask[itemCategory]
返回[]datatypes.Product_Package_Order_Configuration
在其中ItemCategory
填充的对象。样本输出:
{
"id": 7167,
"isRequired": 0,
"itemCategoryId": 390,
"orderStepId": 1,
"packageId": 257,
"sort": 0,
"itemCategory": {
"categoryCode": "trusted_platform_module",
"id": 390,
"name": "Server Security",
"quantityLimit": 1,
"sortOrder": 0
}
},
当我在go中尝试相同的呼叫时itemCategory
,即使我在掩码中声明了该呼叫,也不会填充该呼叫。请指教。
package main
import (
"fmt"
"github.com/softlayer/softlayer-go/services"
"github.com/softlayer/softlayer-go/session"
"encoding/json"
)
func main() {
// SoftLayer API username and key
username := "set-me"
apikey := "set-me"
// Create a session
sess := session.New(username, apikey)
// Enable debug
sess.Debug = true
// Get SoftLayer_Account service
service := services.GetProductPackageService(sess)
// Object-Mask to get specific Vlan's information
mask := "itemCategory"
// Call to getNetworkVlans in order to retrieve vlans according to filter.
result, err := service.Mask(mask).Id(257).GetConfiguration()
if err != nil {
fmt.Printf("\n Unable to retrieve config:\n - %s\n", err)
return
}
// Following helps to print the result in json format.
jsonFormat, jsonErr := json.MarshalIndent(result,""," ")
if jsonErr != nil {
fmt.Println(jsonErr)
return
}
fmt.Println(string(jsonFormat))
}
样本输出:
->>>Request:
2018/05/09 09:24:36 POST /xmlrpc/v3.1/SoftLayer_Product_Package HTTP/1.1
Host: api.softlayer.com
User-Agent: Go-http-client/1.1
Content-Length: 1055
Content-Type: text/xml
Accept-Encoding: gzip
<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>getConfiguration</methodName><params><param><value><struct><member><name>headers</name><value><struct><member><name>User-Agent</name><value><string>softlayer-go/v0.1.0-alpha (go1.9.2;amd64;darwin)</string></value></member><member><name>authenticate</name><value><struct><member><name>username</name><value><string>[[SL_USER]]</string></value></member><member><name>apiKey</name><value><string>[[SL_APIKEY]]</string></value></member></struct></value></member><member><name>SoftLayer_Product_PackageInitParameters</name><value><struct><member><name>id</name><value><int>257</int></value></member></struct></value></member><member><name>SoftLayer_Product_PackageObjectMask</name><value><struct><member><name>mask</name><value><struct><member><name>itemCategory</name><value><array><data></data></array></value></member></struct></value></member></struct></value></member></struct></value></member></struct></value></param></params></methodCall>
2018/05/09 09:24:36
<<<-Response:
2018/05/09 09:24:36 HTTP/1.1 200 OK
Connection: close
Transfer-Encoding: chunked
Cache-Control: private
Content-Type: text/xml
Date: Wed, 09 May 2018 14:24:36 GMT
Server: Apache
Softlayer-Total-Items: 39
Strict-Transport-Security: max-age=31536000
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
然后返回一个具有与以下相同数据的html字符串,该示例条目:
{
"id": 7167,
"isRequired": 0,
"itemCategoryId": 390,
"orderStepId": 1,
"packageId": 257,
"sort": 0
},
默认端点是REST,但是在您的环境中,您使用的是xmlrpc,这可能是由于〜/ .softlayer文件的存在,并且在此文件中将其配置为XMLRPC入口。
有关更多信息,请参见以下文档:https :
//github.com/softlayer/softlayer-go
XMLRPC enpoint会发生此问题,您可以在go GitHub中进行报告。
https://github.com/softlayer/softlayer-
go/issues/
尝试使用REST端点输入代码,例如以下示例:
endpoint := "https://api.softlayer.com/rest/v3"
// Create a session
sess := session.New(username, apikey, endpoint)
问题内容: 我正在尝试通过jQuery ajax调用获取数据。 我的代码如下所示: 我的文件返回的是json格式的数据,但某些文本为Unicode格式。我在我的javascript文件上及其上设置了字符集,但仍然无法访问响应的数据对象。 有任何想法吗? 问题答案: 尝试加入您的ajax调用:
null 然后,我尝试使用和基本的,结果相同。对于200范围,我得到了代码,但在上面,我收到的statusCode为0。 更新:我正在运行63.0.3239.132版的Chrome,如果它有什么不同的话。 > 我已经尝试了大约5种不同的fetch变体。 输出字符串错误 使用 -StatusCode对于错误始终为0 null
问题内容: 在我的项目中,我需要动态编写一些go代码,并需要测试代码是否有效。因此需要使用“ os.exec”功能来调用“ go build”命令。 当我在’/data/test/mycode.go’这样的临时目录中编写go代码时。而我尝试调用“开始构建”,则返回错误,例如“无此类文件或目录”。我怎样才能正确地做到这一点?谢谢大家:) 下面是一些代码 PS:但是我直接在终端中调用命令“ go bu
我正在从Flatter调用Firebase可调用函数,尽管我已经尝试了几乎所有的方法,但仍然无法处理可调用函数抛出的错误。 我的可调用函数如下所示: 然后,我在flatter中创建了一个Future来调用我的可调用函数: 最后,我用另一个错误处理程序从一个文本按钮调用我的未来: 当我调用我的函数并得到一个错误时,我的代码立即跳转到-并停止在-Flutter的(位于)。 它停在函数处的类,就在这里:
问题内容: 这应该返回一个包含图片文件名列表的JSON对象。带注释的警报显示正确的数据,但显示。 我究竟做错了什么? 问题答案: 您正在调用异步方法,该异步方法将在您的函数返回后调用其回调函数。请遵循以下示例中的注释: 您应该考虑以某种方式重构代码,以便在回调中处理JSON对象的逻辑。例: