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
.
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.
Indeks layanan dapat diakses menggunakan metode GET
HTTP dan HEAD
.
Properti resources
berisi array sumber daya yang didukung oleh sumber paket ini.
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.
GET https://api.nuget.org/v3/index.json
{
"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."
}
]
}