Heim  >  Artikel  >  Backend-Entwicklung  >  Warum wird das ItemCategory-Objekt im GetConfiguration-Aufruf von Golang nicht aufgefüllt, obwohl es in der Maske deklariert ist?

Warum wird das ItemCategory-Objekt im GetConfiguration-Aufruf von Golang nicht aufgefüllt, obwohl es in der Maske deklariert ist?

Susan Sarandon
Susan SarandonOriginal
2024-11-22 14:16:48894Durchsuche

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

ItemCategory-Informationen können nicht vom GetConfiguration-Aufruf in Golang abgerufen werden

Problem:
Beim Aufruf von GET https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/257/getConfiguration?objectMask=mask[itemCategory], das ItemCategory-Objekt wird in REST gefüllt, aber nicht in Golang, obwohl es in der Maske deklariert wurde.

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
}

Probe Ausgabe:

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

Lösung:

Das Problem tritt auf, weil der Standardendpunkt für die SoftLayer-API in Go XMLRPC ist, das das Abrufen des ItemCategory-Objekts nicht unterstützt. Um dies zu beheben, wechseln Sie zum REST-Endpunkt, indem Sie die Sitzungskonfiguration aktualisieren:

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

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

Dadurch sollte das ItemCategory-Objekt in der API-Antwort wie erwartet gefüllt werden.

Das obige ist der detaillierte Inhalt vonWarum wird das ItemCategory-Objekt im GetConfiguration-Aufruf von Golang nicht aufgefüllt, obwohl es in der Maske deklariert ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn