Paketmetadaten

Es ist möglich, Metadaten zu den Paketen abzurufen, die in einer Paketquelle mit der NuGet V3-API verfügbar sind. Diese Metadaten können mithilfe der RegistrationsBaseUrl Ressource abgerufen werden, die sich im Dienstindex befindet.

Die Sammlung der dokumente, die unter RegistrationsBaseUrl ihnen gefunden werden, werden häufig als "Registrierungen" oder "Registrierungs-Blobs" bezeichnet. Die Gruppe von Dokumenten unter einem einzelnen RegistrationsBaseUrl wird als "Registrierungsstruktur" bezeichnet. Eine Registrierungsstruktur enthält Metadaten zu jedem Paket, das in einer Paketquelle verfügbar ist.

Hinweis

Die Paketmetadatenressource enthält nicht alle Metadaten für Pakete. Verwenden Sie die Suchressource, um die Besitzer, Downloads oder den Präfixreservierungsstatus von Paketen zu finden.

Versionsverwaltung

Die folgenden @type-Werte werden verwendet:

Wert vom Typ @type Hinweise
RegistrationsBaseUrl Erstrelease
RegistrationsBaseUrl/3.0.0-beta Alias von RegistrationsBaseUrl
RegistrationsBaseUrl/3.0.0-rc Alias von RegistrationsBaseUrl
RegistrationsBaseUrl/3.4.0 Gezippte Antworten
RegistrationsBaseUrl/3.6.0 Enthält SemVer 2.0.0-Pakete

Dies stellt drei unterschiedliche Registrierungsstruktur dar, die für verschiedene Clientversionen verfügbar sind.

RegistrationsBaseUrl

Diese Registrierungen sind nicht komprimiert (d. h. sie verwenden ein implizites Content-Encoding: identity). SemVer 2.0.0-Pakete werden von dieser Struktur ausgeschlossen .

RegistrationsBaseUrl/3.4.0

Diese Registrierungen werden mithilfe von Content-Encoding: gzip. SemVer 2.0.0-Pakete werden von dieser Struktur ausgeschlossen .

RegistrationsBaseUrl/3.6.0

Diese Registrierungen werden mithilfe von Content-Encoding: gzip. SemVer 2.0.0-Pakete sind in dieser Struktur enthalten. Weitere Informationen zu SemVer 2.0.0 finden Sie unter SemVer 2.0.0-Unterstützung für nuget.org.

Basis-URL

Die Basis-URL für die folgenden APIs ist der Wert der @id-Eigenschaft, die einem der oben genannten @type-Ressourcenwerte zugeordnet ist. Im folgenden Dokument wird die Platzhalter-Basis-URL {@id} verwendet. Die Basis-URL kann sich basierend auf Implementierungs- oder Infrastrukturänderungen innerhalb der Paketquelle ändern, sodass sie dynamisch vom Dienstindex der Clientsoftware abgerufen werden muss.

HTTP-Methoden

Alle URLs in der Registrierungsressource unterstützen die HTTP-Methoden GET und HEAD.

Registrierungs-ID

Die Metadaten der Registrierungsressource werden nach Paket-ID gruppiert. Es ist nicht möglich, Daten zu mehr als einer Paket-ID gleichzeitig abzurufen. Diese Ressource bietet keine Möglichkeit, Paket-IDs zu ermitteln. Stattdessen wird davon ausgegangen, dass der Client bereits die gewünschte Paket-ID kennt. Verfügbare Metadaten zu jeder Paketversion variieren je nach Serverimplementierung. Die Paketregistrierungs-Blobs weisen die folgende hierarchische Struktur auf:

  • Index: der Einstiegspunkt für die Paketmetadaten, die von allen Paketen auf einer Quelle mit derselben Paket-ID gemeinsam verwendet werden.
  • Seite: eine Gruppierung von Paketversionen. Die Anzahl der Paketversionen auf einer Seite wird durch die Serverimplementierung definiert.
  • Blatt: ein Dokument, das für eine einzelne Paketversion spezifisch ist.

Die URL des Registrierungsindexes ist vorhersehbar und kann vom Client anhand einer Paket-ID und des Werts @id der Registrierungsressource aus dem Dienstindex bestimmt werden. Die URLs für die Registrierungsseiten und Blätter werden durch Prüfen des Registrierungsindexes ermittelt.

Registrierungsseiten und Blätter

Obwohl es nicht unbedingt erforderlich ist, dass eine Serverimplementierung Registrierungsblätter in separaten Registrierungsseitendokumenten speichert, empfiehlt es sich, clientseitigen Speicher zu sparen. Anstatt alle Registrierungen im Index zu unterstreichen oder die Blätter sofort in Seitendokumenten zu speichern, wird empfohlen, dass die Serverimplementierung eine Heuristik definiert, um zwischen den beiden Ansätzen basierend auf der Anzahl der Paketversionen oder der kumulativen Größe von Paketblättern zu wählen.

Das Speichern aller Paketversionen (Blätter) im Registrierungsindex speichert die Anzahl der HTTP-Anforderungen, die zum Abrufen von Paketmetadaten erforderlich sind, bedeutet jedoch, dass ein größeres Dokument heruntergeladen werden muss und mehr Clientspeicher zugewiesen werden muss. Wenn die Serverimplementierung die Registrierung hingegen sofort in separaten Seitendokumenten speichert, muss der Client weitere HTTP-Anforderungen ausführen, um die benötigten Informationen abzurufen.

Die Heuristik, die nuget.org verwendet, ist wie folgt: Wenn 128 oder mehr Versionen eines Pakets vorhanden sind, brechen Sie die Blätter in Seiten der Größe 64 auf. Wenn weniger als 128 Versionen vorhanden sind, verbleiben alle inline im Registrierungsindex. Beachten Sie, dass dies bedeutet, dass Pakete mit 65 bis 127 Versionen zwei Seiten im Index enthalten, aber beide Seiten werden inlineiert.

GET {@id}/{LOWER_ID}/index.json

Anforderungsparameter

Name Geben Sie in type Erforderlich Hinweise
LOWER_ID URL Zeichenfolge ja Die Paket-ID, kleingeschrieben

Der LOWER_ID Wert ist die gewünschte Paket-ID in Kleinbuchstaben mithilfe der von . NET-Methode System.String.ToLowerInvariant() .

Antwort

Die Antwort ist ein JSON-Dokument mit einem Stammobjekt mit den folgenden Eigenschaften:

Name Type Erforderlich Hinweise
count integer ja Die Anzahl der Registrierungsseiten im Index
items Array von Objekten ja Das Array von Registrierungsseiten

Jedes Element im Array des Indexobjekts items ist ein JSON-Objekt, das eine Registrierungsseite darstellt.

Registrierungsseitenobjekt

Das Registrierungsseitenobjekt im Registrierungsindex weist die folgenden Eigenschaften auf:

Name Type Erforderlich Notizen
@id Zeichenfolge ja Die URL zur Registrierungsseite
count integer ja Die Anzahl der Registrierungen verbleibt auf der Seite
items Array von Objekten Nein Das Array der Registrierung verlässt und die zugehörigen Metadaten
lower Zeichenfolge ja Die niedrigste SemVer 2.0.0-Version auf der Seite (einschließlich)
parent Zeichenfolge Nein Die URL zum Registrierungsindex
upper Zeichenfolge ja Die höchste SemVer 2.0.0-Version auf der Seite (einschließlich)

Die lower Grenzen upper des Seitenobjekts sind nützlich, wenn die Metadaten für eine bestimmte Seitenversion erforderlich sind. Diese Grenzen können verwendet werden, um die einzige Registrierungsseite abzurufen, die benötigt wird. Die Versionszeichenfolgen entsprechen den Versionsregeln von NuGet. Die Versionszeichenfolgen sind normalisiert und enthalten keine Buildmetadaten. Wie bei allen Versionen im NuGet-Ökosystem wird der Vergleich von Versionszeichenfolgen mithilfe der Versionsrangfolgeregeln von SemVer 2.0.0 implementiert.

Die parent Eigenschaft wird nur angezeigt, wenn das Registrierungsseitenobjekt über die items Eigenschaft verfügt.

Wenn die items Eigenschaft im Registrierungsseitenobjekt nicht vorhanden ist, muss die in der @id Url angegebene URL verwendet werden, um Metadaten zu einzelnen Paketversionen abzurufen. Das items Array wird manchmal als Optimierung vom Seitenobjekt ausgeschlossen. Wenn die Anzahl der Versionen einer einzelnen Paket-ID sehr groß ist, ist das Registrierungsindexdokument massiv und verschwendet für einen Client, der sich nur um eine bestimmte Version oder einen kleinen Bereich von Versionen kümmert.

Beachten Sie, dass, wenn die items Eigenschaft vorhanden ist, die @id Eigenschaft nicht verwendet werden muss, da alle Seitendaten bereits in die items Eigenschaft eingebettet sind.

Jedes Element im Array des Seitenobjekts items ist ein JSON-Objekt, das ein Registrierungsblatt darstellt, und es sind zugeordnete Metadaten.

Registrierungsblattobjekt auf einer Seite

Das Registrierungsblattobjekt, das auf einer Registrierungsseite gefunden wird, weist die folgenden Eigenschaften auf:

Name Type Erforderlich Notizen
@id Zeichenfolge ja Die URL zum Registrierungsblatt
catalogEntry Objekt ja Der Katalogeintrag, der die Paketmetadaten enthält
packageContent Zeichenfolge ja Die URL zum Paketinhalt (.nupkg)

Jedes Registrierungsblattobjekt stellt Daten dar, die einer einzelnen Paketversion zugeordnet sind.

Katalogeintrag

Die catalogEntry Eigenschaft im Registrierungsblattobjekt weist die folgenden Eigenschaften auf:

Name Type Erforderlich Notizen
@id Zeichenfolge ja Die URL zum Dokument, das zum Erstellen dieses Objekts verwendet wird
authors Zeichenfolge oder Array von Zeichenfolgen Nein
Abhängigkeitsgruppen Array von Objekten Nein Die Abhängigkeiten des Pakets, gruppiert nach Zielframework
Verwerfung Objekt Nein Die mit dem Paket verbundene Verwerfung
Beschreibung string Nein
iconUrl Zeichenfolge Nein
id string ja Die ID des Pakets
language Zeichenfolge Nein
licenseUrl Zeichenfolge Nein
licenseExpression Zeichenfolge Nein
aufgeführt. boolean Nein Sollte als aufgeführt betrachtet werden, wenn nicht vorhanden
minClientVersion Zeichenfolge Nein
packageContent Zeichenfolge Nein Duplikat derselben Eigenschaft im übergeordneten Objekt, nur aus älteren Gründen enthalten
projectUrl Zeichenfolge Nein
published Zeichenfolge Nein Eine Zeichenfolge mit einem ISO 8601-Zeitstempel des Zeitpunkts der Veröffentlichung des Pakets
readmeUrl Zeichenfolge Nein Eine URL für die gerenderte Ansicht (HTML-Webseite) des Pakets README
requireLicenseAcceptance boolean Nein
Zusammenfassung Zeichenfolge Nein
Tags Zeichenfolge oder Array von Zeichenfolgen Nein
title string Nein
version Zeichenfolge ja Die Vollversionszeichenfolge nach der Normalisierung
vulnerabilities Array von Objekten Nein Die Sicherheitsrisiken des Pakets

Die Paketeigenschaft version ist die Vollversionszeichenfolge nach der Normalisierung. Dies bedeutet, dass Hier SemVer 2.0.0 Builddaten enthalten sein können.

Die dependencyGroups Eigenschaft ist ein Array von Objekten, die die Abhängigkeiten des Pakets darstellen, gruppiert nach Zielframework. Wenn das Paket keine Abhängigkeiten aufweist, fehlt die dependencyGroups Eigenschaft, ein leeres Array oder die dependencies Eigenschaft aller Gruppen ist leer oder fehlt.

Der Wert der Eigenschaft entspricht der licenseExpression NuGet-Lizenzausdruckssyntax.

Hinweis

Bei nuget.org wird der published Wert auf Jahr 1900 festgelegt, wenn das Paket nicht aufgelistet ist.

Paketabhängigkeitsgruppe

Jedes Abhängigkeitsgruppenobjekt verfügt über die folgenden Eigenschaften:

Name Type Erforderlich Hinweise
targetFramework Zeichenfolge Nein Das Zielframework, für das diese Abhängigkeiten gelten
Abhängigkeiten Array von Objekten Nein

Die targetFramework Zeichenfolge verwendet das format, das von nuGet's .NET library NuGet.Frameworks implementiert wird. Wenn kein targetFramework Wert angegeben ist, gilt die Abhängigkeitsgruppe für alle Zielframeworks.

Die dependencies Eigenschaft ist ein Array von Objekten, die jeweils eine Paketabhängigkeit des aktuellen Pakets darstellen.

Paketabhängigkeiten

Jedes Paket verfügt über die folgenden Eigenschaften:

Name Type Erforderlich Hinweise
id string ja (Erforderlich) Die Paket-ID der Abhängigkeit
range Objekt Nein Der zulässige Versionsbereich der Abhängigkeit
Registrierung Zeichenfolge Nein Die URL zum Registrierungsindex für diese Abhängigkeit

Wenn die range Eigenschaft ausgeschlossen oder eine leere Zeichenfolge ist, sollte der Client standardmäßig den Versionsbereich verwenden (, ). Das heißt, jede Version der Abhängigkeit ist zulässig. Der Wert * ist für die Eigenschaft range nicht zulässig.

Veraltetes Paket

Jedes veraltete Paket hat die folgenden Eigenschaften:

Name Type Erforderlich Hinweise
Ursachen Zeichenfolgen-Arrays ja Die Gründe, warum das Paket veraltet war
Nachricht Zeichenfolge Nein Die zusätzlichen Details zu dieser Verwerfung
alternatePackage Objekt Nein Das alternative Paket, das stattdessen verwendet werden soll

Die reasons Eigenschaft muss mindestens eine Zeichenfolge enthalten und darf nur Zeichenfolgen aus der folgenden Tabelle enthalten:

`Reason` Beschreibung
Vorversion Das Paket wird nicht mehr Standard tained
CriticalBugs Das Paket weist Fehler auf, die es für die Verwendung ungeeignet machen
Andere Das Paket ist aufgrund eines Grunds nicht in dieser Liste veraltet

Wenn die reasons Eigenschaft Zeichenfolgen enthält, die nicht aus dem bekannten Satz stammen, sollten sie ignoriert werden. Bei den Zeichenfolgen wird die Groß-/Kleinschreibung nicht beachtet. Dies sollte also legacy genauso behandelt werden wie Legacy. Es gibt keine Sortiereinschränkung für das Array, sodass die Zeichenfolgen in beliebiger Reihenfolge angeordnet werden können. Wenn die Eigenschaft nur Zeichenfolgen enthält, die nicht aus dem bekannten Satz stammen, sollte sie so behandelt werden, als ob sie nur die Zeichenfolge "Other" enthielt.

Alternatives Paket

Das alternative Paket weist die folgenden Eigenschaften auf:

Name Type Erforderlich Hinweise
id string ja Die ID des alternativen Pakets
range Objekt Nein Der zulässige Versionsbereich oder * wenn eine Version zulässig ist

Sicherheitsrisiken

Ein Array von vulnerability-Objekten. Jede Suche bietet folgende Eigenschaften:

Name Type Erforderlich Hinweise
advisoryUrl Zeichenfolge ja Standort der Sicherheitsempfehlung für das Paket
severity Zeichenfolge ja Schweregrad der Empfehlung: "0" = Niedrig, "1" = Mittel, "2" = Hoch, "3" = Kritisch

Beispielanfrage

GET https://api.nuget.org/v3/registration-sample/nuget.server.core/index.json

Stellen Sie sicher, dass Sie die Basis-URL (https://api.nuget.org/v3/registration-sample/ in diesem Beispiel) aus dem Dienstindex abrufen, wie im Basis-URL-Abschnitt Erwähnung.

Beispiel für eine Antwort

{
  "count": 1,
  "items": [
    {
      "@id": "https://api.nuget.org/v3/registration-sample/nuget.server.core/index.json#page/3.0.0-beta/3.0.0-beta",
      "count": 1,
      "items": [
        {
          "@id": "https://api.nuget.org/v3/registration-sample/nuget.server.core/3.0.0-beta.json",
          "catalogEntry": {
            "@id": "https://api.nuget.org/v3/catalog0/data/2017.10.05.18.41.33/nuget.server.core.3.0.0-beta.json",
            "authors": ".NET Foundation",
            "dependencyGroups": [
              {
                "@id": "https://api.nuget.org/v3/catalog0/data/2017.10.05.18.41.33/nuget.server.core.3.0.0-beta.json#dependencygroup",
                "dependencies": [
                  {
                    "@id": "https://api.nuget.org/v3/catalog0/data/2017.10.05.18.41.33/nuget.server.core.3.0.0-beta.json#dependencygroup/nuget.core",
                    "id": "NuGet.Core",
                    "range": "[2.14.0, )",
                    "registration": "https://api.nuget.org/v3/registration-sample/nuget.core/index.json"
                  }
                ]
              }
            ],
            "description": "Core library for creating a Web Application used to host a simple NuGet feed",
            "iconUrl": "",
            "id": "NuGet.Server.Core",
            "language": "",
            "licenseUrl": "https://raw.githubusercontent.com/NuGet/NuGet.Server/dev/LICENSE.txt",
            "listed": true,
            "minClientVersion": "2.6",
            "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.server.core/3.0.0-beta/nuget.server.core.3.0.0-beta.nupkg",
            "projectUrl": "https://github.com/NuGet/NuGet.Server",
            "published": "2017-10-05T18:40:32.43+00:00",
            "requireLicenseAcceptance": false,
            "summary": "",
            "tags": [ "" ],
            "title": "",
            "version": "3.0.0-beta",
            "vulnerabilities": [
              {
                "advisoryUrl": "https://github.com/advisories/ABCD-1234-5678-9012",
                "severity": "2"
              }
            ]
          },
          "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.server.core/3.0.0-beta/nuget.server.core.3.0.0-beta.nupkg",
          "registration": "https://api.nuget.org/v3/registration-sample/nuget.server.core/index.json"
        }
      ],
      "lower": "3.0.0-beta",
      "upper": "3.0.0-beta"
    }
  ]
}

In diesem Fall enthält der Registrierungsindex die Registrierungsseite inline, sodass keine zusätzlichen Anforderungen erforderlich sind, um Metadaten zu einzelnen Paketversionen abzurufen.

Registrierungsseite

Die Registrierungsseite enthält Die Registrierungsblätter. Die URL zum Abrufen einer Registrierungsseite wird durch die @id Eigenschaft im Oben Erwähnung oben angegebenen Registrierungsseitenobjekts bestimmt. Die URL soll nicht vorhersehbar sein und sollte immer mithilfe des Indexdokuments ermittelt werden.

Warnung

In nuget.org enthält die URL für das Registrierungsseitendokument zufällig die untere und obere Grenze der Seite. Diese Annahme sollte jedoch niemals von einem Client vorgenommen werden, da Serverimplementierungen frei sind, die Form der URL zu ändern, solange das Indexdokument über einen gültigen Link verfügt.

Wenn das items Array nicht im Registrierungsindex angegeben wird, gibt eine HTTP GET-Anforderung des @id Werts ein JSON-Dokument zurück, das ein Objekt als Stamm aufweist. Das -Objekt weist die folgenden Eigenschaften auf:

Name Type Erforderlich Notizen
@id Zeichenfolge ja Die URL zur Registrierungsseite
count integer ja Die Anzahl der Registrierungen verbleibt auf der Seite
items Array von Objekten ja Das Array der Registrierung verlässt und die zugehörigen Metadaten
lower Zeichenfolge ja Die niedrigste SemVer 2.0.0-Version auf der Seite (einschließlich)
parent Zeichenfolge ja Die URL zum Registrierungsindex
upper Zeichenfolge ja Die höchste SemVer 2.0.0-Version auf der Seite (einschließlich)

Die Form der Registrierungsblattobjekte ist identisch mit dem oben aufgeführten Registrierungsindex.

Beispielanfrage

GET https://api.nuget.org/v3/registration-sample/ravendb.client/page/1.0.531/1.0.729-unstable.json

Stellen Sie sicher, dass Sie die Basis-URL (https://api.nuget.org/v3/registration-sample/ in diesem Beispiel) aus dem Dienstindex abrufen, wie im Basis-URL-Abschnitt Erwähnung.

Beispiel für eine Antwort

{
  "count": 2,
  "lower": "1.0.531",
  "parent": "https://api.nuget.org/v3/registration-sample/nuget.protocol.v3.example/index.json",
  "upper": "1.0.729-unstable",
  "items": [
    {
      "@id": "https://api.nuget.org/v3/registration-sample/nuget.protocol.v3.example/1.0.531.json",
      "@type": "Package",
      "commitId": "e0b9ca79-75b5-414f-9e3e-de9534b5cfd1",
      "commitTimeStamp": "2017-10-26T14:12:19.3439088Z",
      "catalogEntry": {
        "@id": "https://api.nuget.org/v3/catalog0/data/2015.02.01.11.38.37/nuget.protocol.v3.example.1.0.531.json",
        "@type": "PackageDetails",
        "authors": "NuGet.org Team",
        "iconUrl": "https://www.nuget.org/Content/gallery/img/default-package-icon.svg",
        "id": "NuGet.Protocol.V3.Example",
        "licenseUrl": "http://www.opensource.org/licenses/ms-pl",
        "listed": false,
        "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.protocol.v3.example/1.0.531/nuget.protocol.v3.example.1.0.531.nupkg",
        "projectUrl": "https://github.com/NuGet/NuGetGallery",
        "published": "1900-01-01T00:00:00+00:00",
        "requireLicenseAcceptance": true,
        "title": "NuGet V3 Protocol Example",
        "version": "1.0.531"
      },
      "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.protocol.v3.example/1.0.531/nuget.protocol.v3.example.1.0.531.nupkg",
      "registration": "https://api.nuget.org/v3/registration-sample/nuget.protocol.v3.example/index.json"
    },
    {
      "@id": "https://api.nuget.org/v3/registration-sample/nuget.protocol.v3.example/1.0.729-unstable.json",
      "@type": "Package",
      "commitId": "e0b9ca79-75b5-414f-9e3e-de9534b5cfd1",
      "commitTimeStamp": "2017-10-26T14:12:19.3439088Z",
      "catalogEntry": {
        "@id": "https://api.nuget.org/v3/catalog0/data/2015.02.01.18.22.05/nuget.protocol.v3.example.1.0.729-unstable.json",
        "@type": "PackageDetails",
        "authors": "NuGet.org Team",
        "deprecation": {
          "reasons": [
            "CriticalBugs"
          ],
          "message": "This package is unstable and broken!",
          "alternatePackage": {
            "id": "Newtonsoft.JSON",
            "range": "12.0.2"
          }
        },
        "iconUrl": "https://www.nuget.org/Content/gallery/img/default-package-icon.svg",
        "id": "NuGet.Protocol.V3.Example",
        "licenseUrl": "http://www.opensource.org/licenses/ms-pl",
        "listed": false,
        "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.protocol.v3.example/1.0.729-unstable/nuget.protocol.v3.example.1.0.729-unstable.nupkg",
        "projectUrl": "https://github.com/NuGet/NuGetGallery",
        "published": "1900-01-01T00:00:00+00:00",
        "requireLicenseAcceptance": true,
        "summary": "This package is an example for the V3 protocol.",
        "title": "NuGet V3 Protocol Example",
        "version": "1.0.729-Unstable"
      },
      "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.protocol.v3.example/1.0.729-unstable/nuget.protocol.v3.example.1.0.729-unstable.nupkg",
      "registration": "https://api.nuget.org/v3/registration-sample/nuget.protocol.v3.example/index.json"
    }
  ]
}

Registrierungsliste

Das Registrierungsblatt enthält Informationen zu einer bestimmten Paket-ID und -Version. Die Metadaten zu der spezifischen Version sind in diesem Dokument möglicherweise nicht verfügbar. Paketmetadaten sollten aus dem Registrierungsindex oder der Registrierungsseite abgerufen werden (die mithilfe des Registrierungsindex ermittelt wird).

Die URL zum Abrufen eines Registrierungsblatts wird aus der @id Eigenschaft eines Registrierungsblattobjekts in einem Registrierungsindex oder einer Registrierungsseite abgerufen. Wie beim Seitendokument. die URL soll nicht vorhersehbar sein und sollte immer mithilfe des Registrierungsseitenobjekts ermittelt werden.

Warnung

In nuget.org enthält die URL für das Registrierungsblattdokument die Paketversion. Diese Annahme sollte jedoch niemals von einem Client vorgenommen werden, da Serverimplementierungen die Form der URL ändern können, solange das übergeordnete Dokument über einen gültigen Link verfügt.

Das Registrierungsblatt ist ein JSON-Dokument mit einem Stammobjekt mit den folgenden Eigenschaften:

Name Type Erforderlich Notizen
@id Zeichenfolge ja Die URL zum Registrierungsblatt
catalogEntry Zeichenfolge Nein Die URL zum Katalogeintrag, der dieses Blatt erzeugt hat
aufgeführt. boolean Nein Sollte als aufgeführt betrachtet werden, wenn nicht vorhanden
packageContent Zeichenfolge Nein Die URL zum Paketinhalt (.nupkg)
published Zeichenfolge Nein Eine Zeichenfolge mit einem ISO 8601-Zeitstempel des Zeitpunkts der Veröffentlichung des Pakets
Registrierung Zeichenfolge Nein Die URL zum Registrierungsindex

Hinweis

Bei nuget.org wird der published Wert auf Jahr 1900 festgelegt, wenn das Paket nicht aufgelistet ist.

Beispielanfrage

GET https://api.nuget.org/v3/registration-sample/nuget.versioning/4.3.0.json

Stellen Sie sicher, dass Sie die Basis-URL (https://api.nuget.org/v3/registration-sample/ in diesem Beispiel) aus dem Dienstindex abrufen, wie im Basis-URL-Abschnitt Erwähnung.

Beispielantwort

{
  "@id": "https://api.nuget.org/v3/registration-sample/nuget.versioning/4.3.0.json",
  "catalogEntry": "https://api.nuget.org/v3/catalog0/data/2017.08.11.18.24.22/nuget.versioning.4.3.0.json",
  "listed": true,
  "packageContent": "https://api.nuget.org/v3-flatcontainer/nuget.versioning/4.3.0/nuget.versioning.4.3.0.nupkg",
  "published": "2017-08-11T18:24:14.36+00:00",
  "registration": "https://api.nuget.org/v3/registration-sample/nuget.versioning/index.json"
}