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