Condividi tramite


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