Isi Paket
Dimungkinkan untuk menghasilkan URL untuk mengambil konten paket arbitrer (file .nupkg) menggunakan API V3. Sumber daya yang digunakan untuk mengambil konten paket adalah sumber daya yang PackageBaseAddress
ditemukan dalam indeks layanan. Sumber daya ini juga memungkinkan penemuan semua versi paket, terdaftar, atau tidak terdaftar.
Sumber daya ini biasanya disebut sebagai "alamat dasar paket" atau sebagai "kontainer datar".
Penerapan versi
Nilai berikut @type
digunakan:
@type nilai | Catatan |
---|---|
PackageBaseAddress/3.0.0 | Rilis awal |
URL Dasar
URL dasar untuk API berikut adalah nilai properti yang @id
terkait dengan nilai sumber daya @type
yang disebutkan di atas. Dalam dokumen berikut, URL {@id}
dasar tempat penampung akan digunakan. URL dasar dapat berubah berdasarkan implementasi atau perubahan infrastruktur dalam sumber paket sehingga harus diambil secara dinamis dari indeks layanan oleh perangkat lunak klien.
Metode HTTP
Semua URL yang ditemukan dalam sumber daya konten paket mendukung metode GET
HTTP dan HEAD
.
Menghitung versi paket
Jika klien mengetahui ID paket dan ingin menemukan versi paket mana yang tersedia oleh sumber paket, klien dapat membuat URL yang dapat diprediksi untuk menghitung semua versi paket. Daftar ini dimaksudkan untuk menjadi "daftar direktori" untuk API konten paket yang disebutkan di bawah ini.
Catatan
Daftar ini berisi versi paket yang tercantum dan tidak terdaftar.
GET {@id}/{LOWER_ID}/index.json
Parameter permintaan
Nama | Dalam | Jenis | Diperlukan | Catatan |
---|---|---|---|---|
LOWER_ID | URL | string | yes | ID paket, huruf kecil |
Nilainya LOWER_ID
adalah ID paket yang diinginkan yang diturunkan menggunakan aturan yang diterapkan oleh . System.String.ToLowerInvariant()
Metode NET.
Respons
Jika sumber paket tidak memiliki versi ID paket yang disediakan, kode status 404 dikembalikan.
Jika sumber paket memiliki satu atau beberapa versi, kode status 200 dikembalikan. Isi respons adalah objek JSON dengan properti berikut:
Nama | Tipe | Diperlukan | Catatan |
---|---|---|---|
versi | array string | yes | Versi yang tersedia |
String dalam versions
array semuanya berukuran kecil, string versi NuGet yang dinormalisasi. String versi tidak berisi metadata build SemVer 2.0.0.
Niatnya adalah bahwa string versi yang ditemukan dalam array ini dapat digunakan verbatim untuk LOWER_VERSION
token yang ditemukan di titik akhir berikut.
Permintaan sampel
GET https://api.nuget.org/v3-flatcontainer/owin/index.json
Pastikan untuk mengambil URL dasar (https://api.nuget.org/v3-flatcontainer/
dalam sampel ini) dari indeks layanan seperti yang disebutkan di bagian URL dasar.
Respon sampel
{
"versions": [
"0.5.0",
"0.7.0",
"0.11.0",
"0.12.0",
"0.14.0",
"1.0.0"
]
}
Unduh konten paket (.nupkg)
Jika klien mengetahui ID paket dan versi dan ingin mengunduh konten paket, mereka hanya perlu membuat URL berikut:
GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.{LOWER_VERSION}.nupkg
Parameter permintaan
Nama | Dalam | Jenis | Diperlukan | Catatan |
---|---|---|---|---|
LOWER_ID | URL | string | yes | ID paket, huruf kecil |
LOWER_VERSION | URL | string | yes | Versi paket, dinormalisasi dan huruf kecil |
Keduanya LOWER_ID
dan LOWER_VERSION
diturunkan menggunakan aturan yang diterapkan oleh . NET System.String.ToLowerInvariant()
metode.
LOWER_VERSION
adalah versi paket yang diinginkan yang dinormalisasi menggunakan aturan normalisasi versi NuGet. Ini berarti bahwa metadata build yang diizinkan oleh spesifikasi SemVer 2.0.0 harus dikecualikan dalam kasus ini.
Isi respons
Jika paket ada pada sumber paket, kode status 200 dikembalikan. Isi respons akan menjadi konten paket itu sendiri.
Jika paket tidak ada pada sumber paket, kode status 404 dikembalikan.
Permintaan sampel
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg
Pastikan untuk mengambil URL dasar (https://api.nuget.org/v3-flatcontainer/
dalam sampel ini) dari indeks layanan seperti yang disebutkan di bagian URL dasar.
Respon sampel
Aliran biner yang merupakan .nupkg untuk Newtonsoft.Json 9.0.1.
Unduh manifes paket (.nuspec)
Jika klien mengetahui ID dan versi paket dan ingin mengunduh manifes paket, mereka hanya perlu membuat URL berikut:
GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.nuspec
Parameter permintaan
Nama | Dalam | Jenis | Diperlukan | Catatan |
---|---|---|---|---|
LOWER_ID | URL | string | yes | ID paket, huruf kecil |
LOWER_VERSION | URL | string | yes | Versi paket, dinormalisasi dan huruf kecil |
Keduanya LOWER_ID
dan LOWER_VERSION
diturunkan menggunakan aturan yang diterapkan oleh . System.String.ToLowerInvariant()
Metode NET.
LOWER_VERSION
adalah versi paket yang diinginkan yang dinormalisasi menggunakan aturan normalisasi versi NuGet. Ini berarti bahwa metadata build yang diizinkan oleh spesifikasi SemVer 2.0.0 harus dikecualikan dalam kasus ini.
Isi respons
Jika paket ada pada sumber paket, kode status 200 dikembalikan. Isi respons akan menjadi manifes paket, yang merupakan .nuspec yang terkandung dalam .nupkg yang sesuai. .nuspec adalah dokumen XML.
Jika paket tidak ada pada sumber paket, kode status 404 dikembalikan.
Permintaan sampel
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.nuspec
Pastikan untuk mengambil URL dasar (https://api.nuget.org/v3-flatcontainer/
dalam sampel ini) dari indeks layanan seperti yang disebutkan di bagian URL dasar.
Respon sampel
<?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>