Aracılığıyla paylaş


Otomatik Tamamlama

V3 API'sini kullanarak paket kimliği ve sürüm otomatik tamamlama deneyimi oluşturmak mümkündür. Otomatik tamamlama sorguları yapmak için kullanılan kaynak, hizmet dizininde bulunan kaynaktırSearchAutocompleteService.

Sürüm oluşturma

Aşağıdaki @type değerler kullanılır:

@type Değer Notlar
SearchAutocompleteService İlk sürüm
SearchAutocompleteService/3.0.0-beta Diğer adı SearchAutocompleteService
SearchAutocompleteService/3.0.0-rc Diğer adı SearchAutocompleteService
SearchAutocompleteService/3.5.0 Sorgu parametresi desteğini packageType içerir

SearchAutocompleteService/3.5.0

Bu sürüm, yazar tanımlı paket türlerine packageType göre filtrelemeye izin veren sorgu parametresi desteği sunar. ile yapılan sorgularla SearchAutocompleteServicetamamen geriye dönük uyumludur.

Temel URL

Aşağıdaki API'lerin temel URL'si, yukarıda belirtilen kaynak @type değerlerinden biriyle ilişkili özelliğin değeridir@id. Aşağıdaki belgede yer tutucu temel URL'si {@id} kullanılacaktır. Temel URL, paket kaynağındaki uygulama veya altyapı değişikliklerine göre değişebilir, bu nedenle istemci yazılımı tarafından hizmet dizininden dinamik olarak getirilmesi gerekir.

HTTP Yöntemleri

Kayıt kaynağında bulunan tüm URL'ler ve HEADHTTP yöntemlerini desteklerGET.

Paket kimliklerini arama

İlk otomatik tamamlama API'si, paket kimliği dizesinin bir kısmını aramayı destekler. NuGet paket kaynağıyla tümleştirilmiş bir kullanıcı arabiriminde paket türü başlığı özelliği sağlamak istediğinizde bu harikadır.

Yalnızca listelenmemiş sürümlere sahip bir paket sonuçlarda görünmez.

GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
q URL Dize hayır Paket kimlikleriyle karşılaştırılan dize
skip URL integer hayır Sayfalandırma için atlanması gereken sonuç sayısı
take URL integer hayır Sayfalandırma için döndürülecek sonuç sayısı
ön sürüm URL boolean hayır true veya false yayın öncesi paketlerin dahil edilip edilmeyeceğini belirleme
semVerLevel URL Dize hayır SemVer 1.0.0 sürüm dizesi
packageType URL Dize hayır Paketleri filtrelemek için kullanılacak paket türü (içinde SearchAutocompleteService/3.5.0eklenir)

Otomatik tamamlama sorgusu q , sunucu uygulaması tarafından tanımlanan şekilde ayrıştırılır. nuget.org, özgün değeri deve olayı ve sembol karakterlerine bölerek oluşturulan kimliğin parçaları olan paket kimliği belirteçlerinin ön ekini sorgulamayı destekler.

skip parametresi varsayılan olarak 0'dır.

parametresi sıfırdan take büyük bir tamsayı olmalıdır. Sunucu uygulaması en yüksek değeri uygulayabilir.

Sağlanmazsa prerelease , yayın öncesi paketler hariç tutulur.

Sorgu semVerLevel parametresi, SemVer 2.0.0 paketlerini kabul etmek için kullanılır. Bu sorgu parametresi dışlanırsa, yalnızca SemVer 1.0.0 uyumlu sürümlere sahip paket kimlikleri döndürülür ( 4 tamsayı parçalı sürüm dizeleri gibi standart NuGet sürüm oluşturma uyarılarıyla). Sağlanırsa semVerLevel=2.0.0 hem SemVer 1.0.0 hem de SemVer 2.0.0 uyumlu paketler döndürülür. Daha fazla bilgi için nuget.org için SemVer 2.0.0 desteğine bakın.

packageType parametresi, otomatik tamamlama sonuçlarını yalnızca paket türü adıyla eşleşen en az bir paket türüne sahip paketlere göre daha fazla filtrelemek için kullanılır. Sağlanan paket türü, Paket Türü belgesi tarafından tanımlanan geçerli bir paket türü değilse, boş bir sonuç döndürülür. Sağlanan paket türü boşsa filtre uygulanmaz. Başka bir deyişle, parametreye packageType hiçbir değer geçirilmemesi, parametre geçirilmemiş gibi davranır.

Response

Yanıt, en fazla take otomatik tamamlama sonuçlarını içeren JSON belgesidir.

Kök JSON nesnesi aşağıdaki özelliklere sahiptir:

Adı Tür Zorunlu Notlar
totalHits integer evet Toplam eşleşme sayısı, göz ardı etme skip ve take
veriler dizeler dizisi evet İstekle eşleşen paket kimlikleri

Örnek isteği

GET https://search-sample.nuget.org/autocomplete?q=storage&prerelease=true

Temel URL bölümünde belirtildiği gibi hizmet dizininden temel URL'yi (https://search-sample.nuget.org/autocompletebu örnekte) getirdiğinizden emin olun.

Örnek yanıt

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

Paket sürümlerini listeleme

Önceki API kullanılarak bir paket kimliği bulunduktan sonra, istemci sağlanan paket kimliği için paket sürümlerini listelemek için otomatik tamamlama API'sini kullanabilir.

Listede olmayan bir paket sürümü sonuçlarda görünmez.

GET {@id}?id={ID}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
id URL Dize evet Sürümlerin getirilmeye hazır olduğu paket kimliği
ön sürüm URL boolean hayır true veya false yayın öncesi paketlerin dahil edilip edilmeyeceğini belirleme
semVerLevel URL Dize hayır SemVer 2.0.0 sürüm dizesi

Sağlanmazsa prerelease , yayın öncesi paketler hariç tutulur.

Sorgu semVerLevel parametresi, SemVer 2.0.0 paketlerini kabul etmek için kullanılır. Bu sorgu parametresi dışlanırsa, yalnızca SemVer 1.0.0 sürümleri döndürülür. Sağlanırsa semVerLevel=2.0.0 , hem SemVer 1.0.0 hem de SemVer 2.0.0 sürümleri döndürülür. Daha fazla bilgi için nuget.org için SemVer 2.0.0 desteğine bakın.

Response

Yanıt, sağlanan paket kimliğinin tüm paket sürümlerini içeren ve verilen sorgu parametrelerine göre filtrelemeyi içeren JSON belgesidir.

Kök JSON nesnesi aşağıdaki özelliğe sahiptir:

Adı Tür Zorunlu Notlar
veriler dizeler dizisi evet İstekle eşleşen paket sürümleri

Dizideki data paket sürümleri, sorgu dizesinde sağlanmışsa semVerLevel=2.0.0 SemVer 2.0.0 derleme meta verilerini (örneğin1.0.0+metadata) içerebilir.

Örnek isteği

GET https://api-v2v3search-0.nuget.org/autocomplete?id=nuget.protocol&prerelease=true

Örnek yanıt

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