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 HEAD
HTTP 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>