Bagikan melalui


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 PackageBaseAddressditemukan 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>