Bagikan melalui


Indeks layanan

Indeks layanan adalah dokumen JSON yang merupakan titik masuk untuk sumber paket NuGet dan memungkinkan implementasi klien untuk menemukan kemampuan sumber paket. Indeks layanan adalah objek JSON dengan dua properti yang diperlukan: version (versi skema indeks layanan) dan resources (titik akhir atau kemampuan sumber paket).

indeks layanan nuget.org terletak di https://api.nuget.org/v3/index.json.

Penerapan versi

Nilainya version adalah string versi yang dapat diurai SemVer 2.0.0 yang menunjukkan versi skema indeks layanan. API mengamanatkan bahwa string versi memiliki nomor versi utama .3 Karena perubahan yang tidak melanggar dilakukan pada skema indeks layanan, versi minor string versi akan ditingkatkan.

Setiap sumber daya dalam indeks layanan di-versi secara independen dari versi skema indeks layanan.

Versi skema saat ini adalah 3.0.0. Versi 3.0.0 ini secara fungsional setara dengan versi yang lebih 3.0.0-beta.1 lama tetapi harus lebih disukai karena lebih jelas mengomunikasikan skema yang stabil dan ditentukan.

Metode HTTP

Indeks layanan dapat diakses menggunakan metode GET HTTP dan HEAD.

Sumber

Properti resources berisi array sumber daya yang didukung oleh sumber paket ini.

Sumber daya

Sumber daya adalah objek dalam resources array. Ini mewakili kemampuan versi sumber paket. Sumber daya memiliki properti berikut:

Nama Tipe Diperlukan Catatan
@id string yes URL ke sumber daya
@type string yes Konstanta string yang mewakili jenis sumber daya
komentar string no Deskripsi sumber daya yang dapat dibaca manusia

@id adalah URL yang harus absolut dan harus memiliki skema HTTP atau HTTPS.

@type digunakan untuk mengidentifikasi protokol tertentu yang akan digunakan saat berinteraksi dengan sumber daya. Jenis sumber daya adalah string buram tetapi umumnya memiliki format:

{RESOURCE_NAME}/{RESOURCE_VERSION}

Klien diharapkan untuk membuat kode @type keras nilai yang mereka pahami dan mencarinya dalam indeks layanan sumber paket. Nilai yang tepat @type yang digunakan saat ini dijumlahkan pada dokumen referensi sumber daya individual yang tercantum dalam gambaran umum API.

Demi dokumentasi ini, dokumentasi tentang sumber daya yang berbeda pada dasarnya akan dikelompokkan berdasarkan {RESOURCE_NAME} yang ditemukan dalam indeks layanan yang dianalogikan dengan pengelompokan menurut skenario.

Tidak ada persyaratan bahwa setiap sumber daya memiliki unik @id atau @type. Terserah implementasi klien untuk menentukan sumber daya mana yang lebih disukai daripada yang lain. Salah satu kemungkinan implementasinya adalah bahwa sumber daya yang sama atau kompatibel @type dapat digunakan dengan cara round-robin jika terjadi kegagalan koneksi atau kesalahan server.

Permintaan sampel

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

Respon sampel

{
  "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."
    }
  ]
}