Per Push Übertragen und Löschen
Es ist möglich, Pakete mithilfe der NuGet V3-API zu übertragen, zu löschen (oder die Liste aufzuheben, je nach Serverimplementierung). Diese Vorgänge basieren auf der im Dienstindex gefundenen Ressource PackagePublish
.
Versionsverwaltung
Der folgende @type
Wert wird verwendet:
Wert vom Typ @type | Hinweise |
---|---|
PackagePublish/2.0.0 | Erstrelease |
Basis-URL
Die Basis-URL für die folgenden APIs ist der Wert der @id
Eigenschaft der PackagePublish/2.0.0
Ressource im Dienstindex der Paketquelle. Für die nachstehende Dokumentation wird die URL von nuget.org verwendet. Betrachten Sie https://www.nuget.org/api/v2/package
als Platzhalter für den @id
-Wert im Dienstindex.
Beachten Sie, dass diese URL auf denselben Speicherort wie der ältere V2-Pushendpunkt verweist, da das Protokoll identisch ist.
HTTP-Methoden
Die HTTP-Methoden PUT
, POST
und DELETE
werden von dieser Ressource unterstützt. Welche Methoden für jeden Endpunkt unterstützt werden, finden Sie unten.
Pushen eines Pakets
Hinweis
nuget.org verfügt über zusätzliche Anforderungen für die Interaktion mit dem Pushendpunkt.
nuget.org unterstützt das Pushen neuer Pakete mithilfe der folgenden API. Wenn das Paket mit der angegebenen ID und Version bereits vorhanden ist, lehnt nuget.org den Push ab. Andere Paketquellen unterstützen möglicherweise das Ersetzen eines vorhandenen Pakets.
PUT https://www.nuget.org/api/v2/package
Anforderungsparameter
Name | Geben Sie in | type | Erforderlich | Hinweise |
---|---|---|---|---|
X-NuGet-ApiKey | Header | Zeichenfolge | ja | Beispiel: X-NuGet-ApiKey: {USER_API_KEY} |
Der API-Schlüssel ist eine undurchsichtige Zeichenfolge, die vom Benutzer aus der Paketquelle abgerufen und in den Client konfiguriert wurde. Es ist kein bestimmtes Zeichenfolgenformat vorgeschrieben, aber die Länge des API-Schlüssels darf keine angemessene Größe für HTTP-Headerwerte überschreiten.
Anforderungstext
Verwenden Sie das folgende JSON-Format im Anforderungstext:
Mehrteilige Formulardaten
Der Anforderungsheader Content-Type
ist multipart/form-data
und der erste Artikel im Anforderungstext die unformatierten Bytes der nupkg-Datei, die pusht wird. Nachfolgende Artikel im mehrteiligen Text werden ignoriert. Der Dateiname oder andere Header der mehrteiligen Artikel werden ignoriert.
Antwort
Statuscode | Bedeutung |
---|---|
201, 202 | Das Paket wurde erfolgreich verschoben |
400 | Das bereitgestellte Paket ist ungültig |
409 | Ein Paket mit der bereitgestellten ID und Version ist bereits vorhanden |
Serverimplementierungen variieren vom Erfolgsstatuscode, der zurückgegeben wird, wenn ein Paket erfolgreich pusht wird.
Löschen von Paketen
nuget.org interpretiert die Paketlöschanforderung als "Unlist". Dies bedeutet, dass das Paket weiterhin für vorhandene Verbraucher des Pakets verfügbar ist, aber das Paket nicht mehr in Suchergebnissen oder in der Weboberfläche angezeigt wird. Weitere Informationen zu dieser Vorgehensweise finden Sie in der Richtlinie "Gelöschte Pakete" . Andere Serverimplementierungen können dieses Signal als endgültig löschen, vorläufig löschen oder nicht auflisten. NuGet.Server (eine Serverimplementierung, die nur die ältere V2-API unterstützt) unterstützt z. B. die Behandlung dieser Anforderung als eine Nichtliste oder eine endgültige Löschung basierend auf einer Konfigurationsoption.
DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}
Anforderungsparameter
Name | Geben Sie in | type | Erforderlich | Hinweise |
---|---|---|---|---|
Kennung | URL | Zeichenfolge | ja | Name/ID des zu löschenden Pakets |
VERSION | URL | Zeichenfolge | ja | Version des zu löschenden Pakets |
X-NuGet-ApiKey | Header | Zeichenfolge | ja | Beispiel: X-NuGet-ApiKey: {USER_API_KEY} |
Antwort
Statuscode | Bedeutung |
---|---|
204 | Das Paket wurde gelöscht |
404 | Kein Paket mit dem bereitgestellten ID und VERSION vorhanden |
Entfernen eines Pakets
Wenn ein Paket nicht aufgelistet ist, ist es möglich, das Paket mithilfe des Endpunkts "erneut auflisten" in suchergebnissen sichtbar zu machen. Dieser Endpunkt hat dieselbe Form wie der Löschendpunkt (Unlist), verwendet aber die POST
HTTP-Methode anstelle der DELETE
Methode.
Wenn das Paket bereits aufgeführt ist, ist die Anforderung weiterhin erfolgreich.
POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}
Anforderungsparameter
Name | Geben Sie in | type | Erforderlich | Hinweise |
---|---|---|---|---|
Kennung | URL | Zeichenfolge | ja | Die ID des Zulistungspakets |
VERSION | URL | Zeichenfolge | ja | Die Version des Pakets, die neu gelistet werden soll |
X-NuGet-ApiKey | Header | Zeichenfolge | ja | Beispiel: X-NuGet-ApiKey: {USER_API_KEY} |
Antwort
Statuscode | Bedeutung |
---|---|
200 | Das Paket ist jetzt aufgeführt |
404 | Kein Paket mit dem bereitgestellten ID und VERSION vorhanden |