首頁 >後端開發 >Golang >儘管在掩碼中聲明了 ItemCategory 對象,但為什麼在 Golang 的 GetConfiguration 呼叫中未填充 ItemCategory 物件?

儘管在掩碼中聲明了 ItemCategory 對象,但為什麼在 Golang 的 GetConfiguration 呼叫中未填充 ItemCategory 物件?

Susan Sarandon
Susan Sarandon原創
2024-11-22 14:16:48972瀏覽

Why is the ItemCategory object not populated in Golang's GetConfiguration call despite being declared in the mask?

無法從 Golang 中的 GetConfiguration 呼叫取得 ItemCategory 資訊

問題:
呼叫 GET時https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/257/getConfiguration?objectMask=mask[itemCategory],ItemCategory 物件在 REST 中填充,但不在 Golang 中填充,儘管在掩碼中聲明了它。

import (
    "github.com/softlayer/softlayer-go/services"
)

// ...

// 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
}

範例輸出:

{
    "id": 7167,
    "isRequired": 0,
    "itemCategoryId": 390,
    "orderStepId": 1,
    "packageId": 257,
    "sort": 0
}

解決方案:

出現此問題是因為Go 中SoftLayer API 的預設端點是XMLRPC ,它不支援檢索ItemCategory 物件。若要修正此問題,請透過更新會話配置切換到 REST 端點:

endpoint := "https://api.softlayer.com/rest/v3"

// Create a session
sess := session.New(username, apikey, endpoint)

這應按預期填入 API 回應中的 ItemCategory 物件。

以上是儘管在掩碼中聲明了 ItemCategory 對象,但為什麼在 Golang 的 GetConfiguration 呼叫中未填充 ItemCategory 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn