Aracılığıyla paylaş


Paket İçeriği

V3 API'sini kullanarak rastgele bir paketin içeriğini (.nupkg dosyası) getirmek için bir URL oluşturmak mümkündür. Paket içeriğini getirmek için kullanılan kaynak, hizmet dizininde bulunan kaynaktırPackageBaseAddress. Bu kaynak, listelenen veya listelenmeyen bir paketin tüm sürümlerinin bulunmasını da sağlar.

Bu kaynak genellikle "paket temel adresi" veya "düz kapsayıcı" olarak adlandırılır.

Sürüm oluşturma

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

@type Değer Notlar
PackageBaseAddress/3.0.0 İlk sürüm

Temel URL

Aşağıdaki API'lerin temel URL'si, yukarıda belirtilen kaynak @type değeriyle @id ilişkili özelliğin değeridir. 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

Paket içeriği kaynağında bulunan tüm URL'ler ve HEADHTTP yöntemlerini desteklerGET.

Paket sürümlerini listeleme

İstemci bir paket kimliği biliyorsa ve paket kaynağının hangi paket sürümlerinin kullanılabilir olduğunu bulmak istiyorsa, istemci tüm paket sürümlerini listelemek için tahmin edilebilir bir URL oluşturabilir. Bu liste, aşağıda bahsedilen paket içerik API'sinin "dizin listesi" olarak amaçlanır.

Not

Bu liste hem listelenmiş hem de listelenmemiş paket sürümlerini içerir.

GET {@id}/{LOWER_ID}/index.json

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
LOWER_ID URL Dize evet Küçük harfle belirtilen paket kimliği

LOWER_ID değeri, tarafından uygulanan kurallar kullanılarak küçük harfe dönüştürülen istenen paket kimliğidir. NET'in System.String.ToLowerInvariant() yöntemi.

Response

Paket kaynağı sağlanan paket kimliğinin sürümüne sahip değilse, 404 durum kodu döndürülür.

Paket kaynağının bir veya daha fazla sürümü varsa, 200 durum kodu döndürülür. Yanıt gövdesi aşağıdaki özelliğe sahip bir JSON nesnesidir:

Adı Tür Zorunlu Notlar
versions dizeler dizisi evet Kullanılabilir sürümler

Dizideki versions dizelerin tümü küçük harfli, normalleştirilmiş NuGet sürüm dizeleridir. Sürüm dizeleri herhangi bir SemVer 2.0.0 derleme meta verisi içermez.

Amaç, bu dizide bulunan sürüm dizelerinin aşağıdaki uç noktalarda bulunan belirteçler için LOWER_VERSION ayrıntılı olarak kullanılabilmesidir.

Örnek isteği

GET https://api.nuget.org/v3-flatcontainer/owin/index.json

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

Örnek yanıt

{
  "versions": [
    "0.5.0",
    "0.7.0",
    "0.11.0",
    "0.12.0",
    "0.14.0",
    "1.0.0"
  ]
}

Paket içeriğini indirme (.nupkg)

İstemci bir paket kimliği ve sürümü biliyorsa ve paket içeriğini indirmek istiyorsa, yalnızca aşağıdaki URL'yi oluşturması gerekir:

GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.{LOWER_VERSION}.nupkg

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
LOWER_ID URL Dize evet Paket kimliği, küçük harf
LOWER_VERSION URL Dize evet Normalleştirilmiş ve küçük harfe dönüştürülen paket sürümü

hem hem LOWER_VERSION de LOWER_ID , tarafından uygulanan kurallar kullanılarak küçük harfe dönüştürülür. NET'lerSystem.String.ToLowerInvariant() Yöntem.

LOWER_VERSION, NuGet'in sürüm normalleştirme kuralları kullanılarak normalleştirilmiş istenen paket sürümüdür. Bu, SemVer 2.0.0 belirtimi tarafından izin verilen derleme meta verilerinin bu durumda dışlanması gerektiği anlamına gelir.

Yanıt gövdesi

Paket kaynağında varsa, 200 durum kodu döndürülür. Yanıt gövdesi, paket içeriğinin kendisi olacaktır.

Paket kaynağında paket yoksa, 404 durum kodu döndürülür.

Örnek isteği

GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg

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

Örnek yanıt

Newtonsoft.Json 9.0.1 için .nupkg olan ikili akış.

Paket bildirimini indirme (.nuspec)

İstemci bir paket kimliği ve sürümü biliyorsa ve paket bildirimini indirmek istiyorsa, yalnızca aşağıdaki URL'yi oluşturması gerekir:

GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.nuspec

İstek parametreleri

Veri Akışı Adı İçinde Type Zorunlu Notlar
LOWER_ID URL Dize evet Paket kimliği, küçük harf
LOWER_VERSION URL Dize evet Normalleştirilmiş ve küçük harfe dönüştürülen paket sürümü

hem hem LOWER_VERSION de LOWER_ID , tarafından uygulanan kurallar kullanılarak küçük harfe dönüştürülür. NET'in System.String.ToLowerInvariant() yöntemi.

LOWER_VERSION, NuGet'in sürüm normalleştirme kuralları kullanılarak normalleştirilmiş istenen paket sürümüdür. Bu, SemVer 2.0.0 belirtimi tarafından izin verilen derleme meta verilerinin bu durumda dışlanması gerektiği anlamına gelir.

Yanıt gövdesi

Paket kaynağında varsa, 200 durum kodu döndürülür. Yanıt gövdesi, karşılık gelen .nupkg içinde bulunan .nuspec olan paket bildirimi olacaktır. .nuspec bir XML belgesidir.

Paket kaynağında paket yoksa, 404 durum kodu döndürülür.

Örnek isteği

GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.nuspec

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

Örnek yanıt

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>Newtonsoft.Json</id>
    <version>6.0.4</version>
    <title>Json.NET</title>
    <authors>James Newton-King</authors>
    <owners>James Newton-King</owners>
    <licenseUrl>https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md</licenseUrl>
    <projectUrl>http://james.newtonking.com/json</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Json.NET is a popular high-performance JSON framework for .NET</description>
    <language>en-US</language>
    <tags>json</tags>
  </metadata>
</package>