Completamento automatico
È possibile creare un'esperienza di completamento automatico dell'ID pacchetto e della versione usando l'API V3. La risorsa usata per eseguire query di completamento automatico è la SearchAutocompleteService
risorsa presente nell'indice del servizio.
Controllo delle versioni
Vengono usati i valori seguenti @type
:
Valore @type | Note |
---|---|
SearchAutocompleteService | Versione iniziale |
SearchAutocompleteService/3.0.0-beta | Alias di SearchAutocompleteService |
SearchAutocompleteService/3.0.0-rc | Alias di SearchAutocompleteService |
SearchAutocompleteService/3.5.0 | Include il supporto per packageType il parametro di query |
SearchAutocompleteService/3.5.0
Questa versione introduce il supporto per il packageType
parametro di query, consentendo il filtro in base ai tipi di pacchetto definiti dall'autore. È completamente compatibile con le versioni precedenti con le query su SearchAutocompleteService
.
URL di base
L'URL di base per le API seguenti è il valore della @id
proprietà associata a uno dei valori di risorsa indicati in precedenza @type
. Nel documento seguente verrà usato l'URL {@id}
di base segnaposto. L'URL di base può cambiare in base alle modifiche dell'implementazione o dell'infrastruttura all'interno dell'origine del pacchetto, pertanto deve essere recuperato dinamicamente dall'indice del servizio dal software client.
Metodi HTTP
Tutti gli URL trovati nella risorsa di registrazione supportano i metodi GET
HTTP e HEAD
.
Cercare GLI ID pacchetto
La prima API di completamento automatico supporta la ricerca di parte di una stringa ID pacchetto. Questa opzione è ideale quando si vuole fornire una funzionalità typeahead del pacchetto in un'interfaccia utente integrata con un'origine del pacchetto NuGet.
Nei risultati non verrà visualizzato un pacchetto con solo versioni non elencate.
GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
Parametri della richiesta
Nome | Tra | Type | Obbligatorio | Note |
---|---|---|---|---|
q | URL | string | no | Stringa da confrontare con gli ID pacchetto |
skip | URL | integer | no | Numero di risultati da ignorare per l'impaginazione |
take | URL | integer | no | Numero di risultati da restituire per la paginazione |
pre-release | URL | boolean | no | true o false determinare se includere pacchetti non definitive |
semVerLevel | URL | string | no | Stringa di versione SemVer 1.0.0 |
packageType | URL | string | no | Tipo di pacchetto da usare per filtrare i pacchetti (aggiunti in SearchAutocompleteService/3.5.0 ) |
La query q
di completamento automatico viene analizzata in modo definito dall'implementazione del server. nuget.org supporta l'esecuzione di query per il prefisso dei token ID pacchetto, che sono parti dell'ID prodotto dividendo l'originale in base a maiuscole e minuscole camel e caratteri di simbolo.
Per impostazione predefinita, il skip
parametro è 0.
Il take
parametro deve essere un numero intero maggiore di zero. L'implementazione del server può imporre un valore massimo.
Se prerelease
non viene specificato, i pacchetti non definitive vengono esclusi.
Il semVerLevel
parametro di query viene usato per acconsentire esplicitamente ai pacchetti SemVer 2.0.0.
Se questo parametro di query viene escluso, verranno restituiti solo gli ID pacchetto con le versioni compatibili con SemVer 1.0.0 (con le avvertenze standard di controllo delle versioni di NuGet, ad esempio stringhe di versione con 4 parti intere).
Se semVerLevel=2.0.0
viene specificato, verranno restituiti i pacchetti compatibili SemVer 1.0.0 e SemVer 2.0.0. Per altre informazioni, vedere il supporto di SemVer 2.0.0 per nuget.org .
Il packageType
parametro viene usato per filtrare ulteriormente i risultati del completamento automatico solo per i pacchetti con almeno un tipo di pacchetto corrispondente al nome del tipo di pacchetto.
Se il tipo di pacchetto specificato non è un tipo di pacchetto valido come definito dal documento Tipo di pacchetto, verrà restituito un risultato vuoto.
Se il tipo di pacchetto specificato è vuoto, non verrà applicato alcun filtro. In altre parole, il passaggio di nessun valore al packageType
parametro avrà un comportamento come se il parametro non fosse passato.
Response
La risposta è un documento JSON contenente fino al take
completamento automatico dei risultati.
L'oggetto JSON radice ha le proprietà seguenti:
Nome | Digita | Obbligatorio | Note |
---|---|---|---|
totalHits | integer | yes | Numero totale di corrispondenze, ignorare skip e take |
data | matrice di stringhe | yes | ID pacchetto corrispondenti alla richiesta |
Esempio di richiesta
GET https://search-sample.nuget.org/autocomplete?q=storage&prerelease=true
Assicurarsi di recuperare l'URL di base (https://search-sample.nuget.org/autocomplete
in questo esempio) dall'indice del servizio, come indicato nella sezione URL di base.
Risposta di esempio
{
"totalHits": 571,
"data": [
"WindowsAzure.Storage",
"Storage.Net",
"CK.Storage",
"NCL.Storage",
"DK.Storage",
"Nine.Storage.Test",
"Touch.Storage.Aws",
"StorageAPIClient",
"StorageAccess",
"Storage.Net.Microsoft.Azure.Storage",
"UnofficialAzure.StorageClient",
"StorageAccess12",
"AWSSDK.StorageGateway",
"StorageExtensions",
"Cloud.Storage",
"lighthouse.storage",
"ZU.Storage.Redis",
"Magicodes.Storage",
"Masticore.Storage",
"hq.storage"
]
}
Enumerare le versioni dei pacchetti
Dopo aver individuato un ID pacchetto usando l'API precedente, un client può usare l'API di completamento automatico per enumerare le versioni dei pacchetti per un ID pacchetto specificato.
Nei risultati non verrà visualizzata una versione del pacchetto non elencata.
GET {@id}?id={ID}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}
Parametri della richiesta
Nome | Tra | Type | Obbligatorio | Note |
---|---|---|---|---|
id | URL | string | yes | ID pacchetto per cui recuperare le versioni |
pre-release | URL | boolean | no | true o false determinare se includere pacchetti non definitive |
semVerLevel | URL | string | no | Stringa di versione semVer 2.0.0 |
Se prerelease
non viene specificato, i pacchetti non definitive vengono esclusi.
Il semVerLevel
parametro di query viene usato per acconsentire esplicitamente ai pacchetti SemVer 2.0.0. Se questo parametro di query viene escluso, verranno restituite solo le versioni di SemVer 1.0.0. Se semVerLevel=2.0.0
viene specificato, verranno restituite entrambe le versioni SemVer 1.0.0 e SemVer 2.0.0. Per altre informazioni, vedere il supporto di SemVer 2.0.0 per nuget.org .
Response
La risposta è un documento JSON contenente tutte le versioni del pacchetto dell'ID pacchetto fornito, filtrando in base ai parametri di query specificati.
L'oggetto JSON radice ha la proprietà seguente:
Nome | Digita | Obbligatorio | Note |
---|---|---|---|
data | matrice di stringhe | yes | Le versioni del pacchetto corrispondenti alla richiesta |
Le versioni del pacchetto nella data
matrice possono contenere metadati di compilazione SemVer 2.0.0 (ad esempio 1.0.0+metadata
) se l'oggetto semVerLevel=2.0.0
viene fornito nella stringa di query.
Esempio di richiesta
GET https://api-v2v3search-0.nuget.org/autocomplete?id=nuget.protocol&prerelease=true
Risposta di esempio
{
"data": [
"4.3.0-preview3-4168",
"4.3.0-preview4",
"4.3.0-rtm-4324",
"4.3.0",
"4.4.0-preview3-4475",
"4.4.0"
]
}