Aracılığıyla paylaş


Service index

Hizmet dizini, NuGet paket kaynağının giriş noktası olan ve istemci uygulamasının paket kaynağının özelliklerini bulmasına olanak tanıyan bir JSON belgesidir. Hizmet dizini, iki gerekli özelliğe sahip bir JSON nesnesidir: version (hizmet dizininin şema sürümü) ve resources (paket kaynağının uç noktaları veya özellikleri).

nuget.org'un hizmet dizini konumundadır https://api.nuget.org/v3/index.json.

Versioning

version Değer, hizmet dizininin şema sürümünü gösteren bir SemVer 2.0.0 ayrıştırılabilir sürüm dizesidir. API, sürüm dizesinin ana sürüm numarası olan 3gerektirir. Hizmet dizini şemasında hataya neden olmayan değişiklikler yapıldığından, sürüm dizesinin ikincil sürümü artırılır.

Hizmet dizinindeki her kaynak, hizmet dizini şema sürümünden bağımsız olarak oluşturulur.

Geçerli şema sürümü şeklindedir 3.0.0. Sürüm 3.0.0 işlevsel olarak eski 3.0.0-beta.1 sürüme eşdeğerdir, ancak kararlı, tanımlı şemayı daha net bir şekilde ilettiklerinden tercih edilmelidir.

HTTP methods

Hizmet dizinine HTTP yöntemleri GET ve HEADkullanılarak erişilebilir.

Resources

özelliği, resources bu paket kaynağı tarafından desteklenen bir kaynak dizisi içerir.

Resource

Kaynak, dizideki resources bir nesnedir. Paket kaynağının sürümleştirilmiş bir özelliğini temsil eder. Bir kaynak aşağıdaki özelliklere sahiptir:

Name Type Required Notes
@id string yes Kaynağın URL'si
@type string yes Kaynak türünü temsil eden bir dize sabiti
comment string no Kaynağın okunabilir bir açıklaması

, @id mutlak olması ve HTTP veya HTTPS şemasına sahip olması gereken bir URL'dir.

@type, kaynakla etkileşim kurarken kullanılacak belirli protokolü tanımlamak için kullanılır. Kaynağın türü opak bir dizedir ancak genel olarak şu biçime sahiptir:

{RESOURCE_NAME}/{RESOURCE_VERSION}

İstemcilerin anladıkları değerleri sabit olarak kodlayıp @type bir paket kaynağının hizmet dizininde aramaları beklenir. Bugün kullanımda olan tam @type değerler , API'ye genel bakış bölümünde listelenen tek tek kaynak başvuru belgelerinde numaralandırılır.

Bu belgenin iyiliği için, farklı kaynaklar hakkındaki belgeler temelde hizmet dizininde bulunan ve senaryoya göre gruplandırmaya benzer şekilde gruplandırılacaktır {RESOURCE_NAME} .

Her kaynağın benzersiz @id veya @typeolması gerekmez. Başka bir kaynak yerine hangi kaynağı tercih etmek istemci uygulamasına bağlıdır. Olası bir uygulama, aynı veya uyumlu @type kaynakların bağlantı hatası veya sunucu hatası durumunda hepsini bir kez deneme yöntemiyle kullanılabilmesidir.

Bir kaynak, hizmet dizininden farklı bir ana bilgisayar veya etki alanı kullanabilir, ancak bu, katı ağ kuralları olan ortamlarda sorunlara neden olabilir. Özellikle, hizmet dizininiz doğrudan nuget.org işaret eden kaynaklar eklerse (kendi akışınız üzerinden ara sunucu oluşturma veya önbelleğe alma yerine), nuget.org erişimi engellendiğinde akışınız çalışmaz. Akışınız belirli kaynakları nuget.org için temsilci olarak seçecekse, akışınız dağıtıldığında doğrudan nuget.org başvurusunun hizmet dizininden kaldırılabilmesi için bir yapılandırma eklemenizi öneririz.

Sample request

GET https://api.nuget.org/v3/index.json

Sample response

{
  "version": "3.0.0",
  "resources": [
    {
      "@id": "https://api.nuget.org/v3-flatcontainer/",
      "@type": "PackageBaseAddress/3.0.0",
      "comment": "Base URL of Azure storage where NuGet package registration info for NET Core is stored, in the format https://api.nuget.org/v3-flatcontainer/{id-lower}/{id-lower}.{version-lower}.nupkg"
    },
    {
      "@id": "https://www.nuget.org/api/v2/package",
      "@type": "PackagePublish/2.0.0"
    },
    {
      "@id": "https://api-v2v3search-0.nuget.org/query",
      "@type": "SearchQueryService/3.0.0-rc",
      "comment": "Query endpoint of NuGet Search service (primary) used by RC clients"
    },
    {
      "@id": "https://api-v2v3search-0.nuget.org/autocomplete",
      "@type": "SearchAutocompleteService/3.0.0-rc",
      "comment": "Autocomplete endpoint of NuGet Search service (primary) used by RC clients"
    },
    {
      "@id": "https://api.nuget.org/v3/registration2/",
      "@type": "RegistrationsBaseUrl/3.0.0-rc",
      "comment": "Base URL of Azure storage where NuGet package registration info is stored used by RC clients. This base URL does not include SemVer 2.0.0 packages."
    }
  ]
}