Autouzupełnianie
Istnieje możliwość utworzenia identyfikatora pakietu i środowiska autouzupełniania wersji przy użyciu interfejsu API w wersji 3. Zasób używany do tworzenia zapytań autouzupełniania to SearchAutocompleteService
zasób znaleziony w indeksie usługi.
Wersje
Używane są następujące @type
wartości:
@type Wartość | Uwagi |
---|---|
SearchAutocompleteService | Wersja początkowa |
SearchAutocompleteService/3.0.0-beta | Alias of SearchAutocompleteService |
SearchAutocompleteService/3.0.0-rc | Alias of SearchAutocompleteService |
SearchAutocompleteService/3.5.0 | Obejmuje obsługę parametru packageType zapytania |
SearchAutocompleteService/3.5.0
Ta wersja wprowadza obsługę parametru packageType
zapytania, umożliwiając filtrowanie według zdefiniowanych przez autora typów pakietów. Jest ona w pełni zgodna z poprzednimi wersjami zapytań do SearchAutocompleteService
.
Podstawowy adres URL
Podstawowym adresem URL dla następujących interfejsów API jest wartość @id
właściwości skojarzonej z jedną z wyżej wymienionych wartości zasobów @type
. W poniższym dokumencie zostanie użyty podstawowy adres URL {@id}
symbolu zastępczego. Podstawowy adres URL może ulec zmianie na podstawie implementacji lub zmian infrastruktury w źródle pakietu, dlatego musi być dynamicznie pobierany z indeksu usługi przez oprogramowanie klienckie.
Metody HTTP
Wszystkie adresy URL znalezione w zasobie rejestracji obsługują metody GET
HTTP i HEAD
.
Wyszukiwanie identyfikatorów pakietów
Pierwszy interfejs API autouzupełniania obsługuje wyszukiwanie części ciągu identyfikatora pakietu. Jest to doskonałe rozwiązanie, gdy chcesz udostępnić funkcję typu pakietu w interfejsie użytkownika zintegrowanym ze źródłem pakietu NuGet.
Pakiet zawierający tylko wersje nieznajdowane na liście nie będzie wyświetlany w wynikach.
GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
Parametry żądania
Nazwisko | W | Typ | Wymagania | Uwagi |
---|---|---|---|---|
q | URL | string | nie | Ciąg do porównania z identyfikatorami pakietów |
skip | URL | integer | nie | Liczba wyników do pominięcia w przypadku stronicowania |
take | URL | integer | nie | Liczba wyników do zwrócenia w przypadku stronicowania |
wersja wstępna | URL | boolean | nie | true lub false określenie, czy należy uwzględnić pakiety wersji wstępnej |
semVerLevel | URL | string | nie | Ciąg wersji SemVer 1.0.0 |
packageType | URL | string | nie | Typ pakietu używany do filtrowania pakietów (dodany w SearchAutocompleteService/3.5.0 pliku ) |
Zapytanie q
autouzupełniania jest analizowane w sposób zdefiniowany przez implementację serwera. nuget.org obsługuje wykonywanie zapytań dotyczących prefiksu tokenów identyfikatora pakietu, które są elementami identyfikatora utworzonymi przez podzielenie oryginalnego przypadku wielbłądu i znaków symboli.
Wartość domyślna parametru skip
to 0.
Parametr take
powinien być liczbą całkowitą większą niż zero. Implementacja serwera może narzucić maksymalną wartość.
Jeśli prerelease
nie zostanie podana, pakiety wersji wstępnej zostaną wykluczone.
Parametr semVerLevel
zapytania służy do wyrażenia zgody na pakiety SemVer 2.0.0.
Jeśli ten parametr zapytania zostanie wykluczony, zostaną zwrócone tylko identyfikatory pakietów ze zgodnymi wersjami SemVer 1.0.0 (ze standardowymi zastrzeżeniami obsługi wersji NuGet, takimi jak ciągi wersji z 4 liczbami całkowitymi).
Jeśli semVerLevel=2.0.0
zostanie podana wartość, zostaną zwrócone pakiety zgodne z standardem SemVer 1.0.0 i SemVer 2.0.0. Aby uzyskać więcej informacji, zobacz obsługę programu SemVer 2.0.0 w celu uzyskania nuget.org.
Parametr packageType
służy do dalszego filtrowania wyników autouzupełniania tylko do pakietów, które mają co najmniej jeden typ pakietu pasujący do nazwy typu pakietu.
Jeśli podany typ pakietu nie jest prawidłowym typem pakietu zdefiniowanym przez dokument Typ pakietu, zostanie zwrócony pusty wynik.
Jeśli podany typ pakietu jest pusty, nie zostanie zastosowany żaden filtr. Innymi słowy przekazywanie żadnej wartości do parametru packageType
będzie zachowywać się tak, jakby parametr nie został przekazany.
Response
Odpowiedź to dokument JSON zawierający maksymalnie take
wyniki autouzupełniania.
Główny obiekt JSON ma następujące właściwości:
Nazwisko | Type | Wymagania | Uwagi |
---|---|---|---|
totalHits | integer | tak | Łączna liczba dopasowań, lekceważenie skip i take |
dane | tablica ciągów | tak | Identyfikatory pakietów dopasowane przez żądanie |
Przykładowe żądanie
GET https://search-sample.nuget.org/autocomplete?q=storage&prerelease=true
Pamiętaj, aby pobrać podstawowy adres URL (https://search-sample.nuget.org/autocomplete
w tym przykładzie) z indeksu usługi, jak wspomniano w sekcji podstawowego adresu URL .
Przykładowa odpowiedź
{
"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"
]
}
Wyliczanie wersji pakietów
Po odnalezieniu identyfikatora pakietu przy użyciu poprzedniego interfejsu API klient może użyć interfejsu API autouzupełniania, aby wyliczyć wersje pakietów dla podanego identyfikatora pakietu.
Wersja pakietu, która nie znajduje się na liście, nie będzie wyświetlana w wynikach.
GET {@id}?id={ID}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}
Parametry żądania
Nazwisko | W | Typ | Wymagania | Uwagi |
---|---|---|---|---|
identyfikator | URL | string | tak | Identyfikator pakietu do pobierania wersji dla programu |
wersja wstępna | URL | boolean | nie | true lub false określenie, czy należy uwzględnić pakiety wersji wstępnej |
semVerLevel | URL | string | nie | Ciąg wersji SemVer 2.0.0 |
Jeśli prerelease
nie zostanie podana, pakiety wersji wstępnej zostaną wykluczone.
Parametr semVerLevel
zapytania służy do wyrażenia zgody na pakiety SemVer 2.0.0. Jeśli ten parametr zapytania zostanie wykluczony, zostaną zwrócone tylko wersje SemVer 1.0.0. Jeśli semVerLevel=2.0.0
zostanie podana wersja SemVer 1.0.0 i SemVer 2.0.0, zostanie zwrócona zarówno wersja SemVer 1.0.0, jak i SemVer 2.0.0. Aby uzyskać więcej informacji, zobacz obsługę programu SemVer 2.0.0 w celu uzyskania nuget.org.
Response
Odpowiedź to dokument JSON zawierający wszystkie wersje pakietu podanego identyfikatora pakietu, filtrując według podanych parametrów zapytania.
Główny obiekt JSON ma następującą właściwość:
Nazwisko | Type | Wymagania | Uwagi |
---|---|---|---|
dane | tablica ciągów | tak | Wersje pakietu dopasowane przez żądanie |
Wersje pakietów w data
tablicy mogą zawierać metadane kompilacji SemVer 2.0.0 (np. 1.0.0+metadata
), jeśli semVerLevel=2.0.0
element jest podany w ciągu zapytania.
Przykładowe żądanie
GET https://api-v2v3search-0.nuget.org/autocomplete?id=nuget.protocol&prerelease=true
Przykładowa odpowiedź
{
"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"
]
}