Automatické dokončování
Pomocí rozhraní API V3 je možné vytvořit ID balíčku a prostředí automatického dokončování verzí. Prostředek použitý k vytváření dotazů automatického dokončování je prostředek, který SearchAutocompleteService
se nachází v indexu služby.
Vytváření verzí
Používají se následující @type
hodnoty:
@type Hodnotu | Notes |
---|---|
SearchAutocompleteService | Počáteční verze |
SearchAutocompleteService/3.0.0-beta | Alias of SearchAutocompleteService |
SearchAutocompleteService/3.0.0-rc | Alias of SearchAutocompleteService |
SearchAutocompleteService/3.5.0 | Zahrnuje podporu parametru packageType dotazu. |
SearchAutocompleteService/3.5.0
Tato verze zavádí podporu parametru packageType
dotazu, což umožňuje filtrování podle typů balíčků definovaných autorem. Je plně zpětně kompatibilní s dotazy na SearchAutocompleteService
.
Základní adresa URL
Základní adresa URL pro následující rozhraní API je hodnota @id
vlastnosti přidružené k jedné z výše uvedených hodnot prostředků @type
. V následujícím dokumentu se použije zástupná základní adresa URL {@id}
. Základní adresa URL se může změnit na základě změn implementace nebo infrastruktury ve zdroji balíčku, takže se musí dynamicky načítat z indexu služby klientským softwarem.
Metody HTTP
Všechny adresy URL nalezené v prostředku registrace podporují metody GET
HTTP a HEAD
.
Vyhledání ID balíčků
První rozhraní API automatického dokončování podporuje hledání části řetězce ID balíčku. To je skvělé, když chcete poskytnout funkci typeahead balíčku v uživatelském rozhraní integrovaném se zdrojem balíčku NuGet.
Ve výsledcích se nezobrazí balíček s pouze nelistovanými verzemi.
GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
Parametry požadavku
Název | V | Typ | Požaduje se | Notes |
---|---|---|---|---|
q | URL | string | ne | Řetězec, který se má porovnat s ID balíčků |
skip | Adresa URL | integer | ne | Počet výsledků, které se mají přeskočit pro stránkování |
take | Adresa URL | integer | ne | Počet vrácených výsledků pro stránkování |
předběžná verze | Adresa URL | boolean | ne | true nebo false určení, zda zahrnout předběžné verze balíčků |
semVerLevel | URL | string | ne | Řetězec verze SemVer 1.0.0 |
packageType | URL | string | ne | Typ balíčku, který se má použít k filtrování balíčků (přidáno do SearchAutocompleteService/3.5.0 ) |
Dotaz q
automatického dokončování je analyzován způsobem, který je definován implementací serveru. nuget.org podporuje dotazování na předponu tokenů ID balíčku, což jsou části ID vytvořené rozdělením původních znaků camel case a symbolů.
Výchozí skip
hodnota parametru je 0.
Parametr take
by měl být celé číslo větší než nula. Implementace serveru může mít maximální hodnotu.
Pokud prerelease
není k dispozici, předem vydané balíčky jsou vyloučeny.
Parametr semVerLevel
dotazu se používá k vyjádření souhlasu s balíčky SemVer 2.0.0.
Pokud je tento parametr dotazu vyloučený, vrátí se pouze ID balíčků s kompatibilními verzemi SemVer 1.0.0 (se standardními upozorněními na správu verzí NuGet, jako jsou řetězce verzí se 4 celými čísly).
Pokud semVerLevel=2.0.0
je k dispozici, vrátí se oba balíčky kompatibilní s SemVer 1.0.0 a SemVer 2.0.0. Další informace najdete v podpoře semVer 2.0.0 pro nuget.org .
Tento packageType
parametr slouží k dalšímu filtrování výsledků automatického dokončování pouze na balíčky, které mají alespoň jeden typ balíčku odpovídající názvu typu balíčku.
Pokud zadaný typ balíčku není platným typem balíčku definovaným dokumentem Typ balíčku, vrátí se prázdný výsledek.
Pokud je zadaný typ balíčku prázdný, nepoužije se žádný filtr. Jinými slovy, předání žádné hodnoty parametru packageType
se bude chovat, jako by parametr nebyl předán.
Response
Odpověď je dokument JSON obsahující až automatické take
dokončování výsledků.
Kořenový objekt JSON má následující vlastnosti:
Name | Type | Požaduje se | Notes |
---|---|---|---|
totalHits | integer | ano | Celkový počet shod, ignorování skip a take |
data | pole řetězců | ano | ID balíčku, která odpovídají žádosti |
Ukázkový požadavek
GET https://search-sample.nuget.org/autocomplete?q=storage&prerelease=true
Nezapomeňte načíst základní adresu URL (https://search-sample.nuget.org/autocomplete
v této ukázce) z indexu služby, jak je uvedeno v části základní adresy URL .
Ukázková odpověď
{
"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"
]
}
Výčet verzí balíčků
Po zjištění ID balíčku pomocí předchozího rozhraní API může klient použít rozhraní API automatického dokončování k vytvoření výčtu verzí balíčků pro zadané ID balíčku.
Ve výsledcích se nezobrazí verze balíčku, která není uvedena v seznamu.
GET {@id}?id={ID}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}
Parametry požadavku
Název | V | Typ | Požaduje se | Notes |
---|---|---|---|---|
ID | URL | string | ano | ID balíčku pro načtení verzí pro |
předběžná verze | Adresa URL | boolean | ne | true nebo false určení, zda zahrnout předběžné verze balíčků |
semVerLevel | URL | string | ne | Řetězec verze SemVer 2.0.0 |
Pokud prerelease
není k dispozici, předem vydané balíčky jsou vyloučeny.
Parametr semVerLevel
dotazu se používá k vyjádření souhlasu s balíčky SemVer 2.0.0. Pokud je tento parametr dotazu vyloučený, vrátí se pouze verze SemVer 1.0.0. Pokud semVerLevel=2.0.0
je k dispozici, vrátí se obě verze SemVer 1.0.0 a SemVer 2.0.0. Další informace najdete v podpoře semVer 2.0.0 pro nuget.org .
Response
Odpověď je dokument JSON obsahující všechny verze balíčku zadaného ID balíčku a filtruje se podle zadaných parametrů dotazu.
Kořenový objekt JSON má následující vlastnost:
Name | Type | Požaduje se | Notes |
---|---|---|---|
data | pole řetězců | ano | Verze balíčků, které odpovídají požadavku |
Verze balíčků v data
poli mohou obsahovat metadata sestavení SemVer 2.0.0 (např. 1.0.0+metadata
) v případě semVerLevel=2.0.0
, že je zadaný v řetězci dotazu.
Ukázkový požadavek
GET https://api-v2v3search-0.nuget.org/autocomplete?id=nuget.protocol&prerelease=true
Ukázková odpověď
{
"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"
]
}