問題:
呼叫 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中文網其他相關文章!