ホームページ >バックエンド開発 >Golang >マスクで宣言されているにもかかわらず、Golang の GetConfiguration 呼び出しで ItemCategory オブジェクトが設定されないのはなぜですか?

マスクで宣言されているにもかかわらず、Golang の GetConfiguration 呼び出しで ItemCategory オブジェクトが設定されないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-22 14:16:48918ブラウズ

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 応答に ItemsCategory オブジェクトが設定されます。

以上がマスクで宣言されているにもかかわらず、Golang の GetConfiguration 呼び出しで ItemCategory オブジェクトが設定されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。