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 PUT
metodi , 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 |