Condividi tramite


Push ed eliminazione

È possibile eseguire il push, l'eliminazione o l'annullamento dell'elenco, a seconda dell'implementazione del server, e rilistare i pacchetti usando l'API NuGet V3. Queste operazioni sono basate sulla PackagePublish risorsa presente nell'indice del servizio.

Controllo delle versioni

Viene usato il valore seguente @type :

Valore @type Note
PackagePublish/2.0.0 Versione iniziale

URL di base

L'URL di base per le API seguenti è il valore della @id proprietà della PackagePublish/2.0.0 risorsa nell'indice del servizio dell'origine del pacchetto. Per la documentazione seguente, viene usato l'URL di nuget.org. Si consideri https://www.nuget.org/api/v2/package un segnaposto per il @id valore trovato nell'indice del servizio.

Si noti che questo URL punta alla stessa posizione dell'endpoint push V2 legacy perché il protocollo è lo stesso.

Metodi HTTP

I PUTmetodi , POST e DELETE HTTP sono supportati da questa risorsa. Per i metodi supportati in ogni endpoint, vedere di seguito.

Eseguire il push di un pacchetto

Nota

nuget.org ha requisiti aggiuntivi per l'interazione con l'endpoint push.

nuget.org supporta il push di nuovi pacchetti usando l'API seguente. Se il pacchetto con l'ID e la versione specificati esiste già, nuget.org rifiuterà il push. Altre origini di pacchetti possono supportare la sostituzione di un pacchetto esistente.

PUT https://www.nuget.org/api/v2/package

Parametri della richiesta

Nome Tra Type Obbligatorio Note
X-NuGet-ApiKey Intestazione string yes Ad esempio, X-NuGet-ApiKey: {USER_API_KEY}

La chiave API è una stringa opaca ottenuta dall'origine del pacchetto dall'utente e configurata nel client. Non viene richiesto alcun formato stringa specifico, ma la lunghezza della chiave API non deve superare una dimensione ragionevole per i valori di intestazione HTTP.

Corpo della richiesta

Il corpo della richiesta deve venire nel formato seguente:

Dati del modulo multipart

L'intestazione Content-Type della richiesta è multipart/form-data e il primo elemento nel corpo della richiesta è costituito dai byte non elaborati del file con estensione nupkg di cui viene eseguito il push. Gli elementi successivi nel corpo multipart vengono ignorati. Il nome del file o qualsiasi altra intestazione degli elementi multipart vengono ignorati.

Response

Codice di stato Significato
201, 202 Il push del pacchetto è stato eseguito correttamente
400 Il pacchetto fornito non è valido
409 Esiste già un pacchetto con l'ID e la versione specificati

Le implementazioni del server variano in base al codice di stato di esito positivo restituito quando viene eseguito correttamente il push di un pacchetto.

Eliminare un pacchetto

nuget.org interpreta la richiesta di eliminazione del pacchetto come "unlist". Ciò significa che il pacchetto è ancora disponibile per i consumer esistenti del pacchetto, ma il pacchetto non viene più visualizzato nei risultati della ricerca o nell'interfaccia Web. Per altre informazioni su questa procedura, vedere il criterio Pacchetti eliminati. Altre implementazioni del server sono libere di interpretare questo segnale come eliminazione temporanea, eliminazione temporanea o annullamento dell'elenco. Ad esempio, NuGet.Server (un'implementazione del server che supporta solo l'API V2 precedente) supporta la gestione di questa richiesta come elenco non in elenco o come eliminazione temporanea in base a un'opzione di configurazione.

DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}

Parametri della richiesta

Nome Tra Type Obbligatorio Note
ID URL string yes ID del pacchetto da eliminare
VERSION URL string yes Versione del pacchetto da eliminare
X-NuGet-ApiKey Intestazione string yes Ad esempio, X-NuGet-ApiKey: {USER_API_KEY}

Response

Codice di stato Significato
204 Il pacchetto è stato eliminato
404 Nessun pacchetto con l'oggetto fornito ID ed VERSION esiste

Rilistare un pacchetto

Se un pacchetto non è elencato, è possibile rendere nuovamente visibile il pacchetto nei risultati della ricerca usando l'endpoint "relist". Questo endpoint ha la stessa forma dell'endpoint delete (unlist), ma usa il POST metodo HTTP anziché il DELETE metodo .

Se il pacchetto è già elencato, la richiesta ha comunque esito positivo.

POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}

Parametri della richiesta

Nome Tra Type Obbligatorio Note
ID URL string yes ID del pacchetto da rilistare
VERSION URL string yes Versione del pacchetto da rilistare
X-NuGet-ApiKey Intestazione string yes Ad esempio, X-NuGet-ApiKey: {USER_API_KEY}

Response

Codice di stato Significato
200 Il pacchetto è ora elencato
404 Nessun pacchetto con l'oggetto fornito ID ed VERSION esiste