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.0pliku )

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