Megosztás a következőn keresztül:


Service index

A szolgáltatásindex egy JSON-dokumentum, amely egy NuGet-csomagforrás belépési pontja, és lehetővé teszi, hogy az ügyfél implementációja felderítse a csomagforrás képességeit. A szolgáltatásindex egy JSON-objektum, amely két szükséges tulajdonsággal rendelkezik: version (a szolgáltatásindex sémaverziója) és resources (a csomagforrás végpontjai vagy képességei).

A nuget.org szolgáltatásindexe itt https://api.nuget.org/v3/index.jsontalálható: .

Versioning

Az version érték egy SemVer 2.0.0 elemezhető verziósztring, amely a szolgáltatásindex sémaverzióját jelzi. Az API előírja, hogy a verziósztring főverziószáma 3. Mivel a szolgáltatásindex sémáján nem töredék módosítások történnek, a verziósztring alverziója növekedni fog.

A szolgáltatásindex minden erőforrása a szolgáltatásindex sémaverziójától függetlenül verziószámozott.

Az aktuális sémaverzió a következő 3.0.0: . A 3.0.0 verzió funkcionálisan egyenértékű a régebbi 3.0.0-beta.1 verzióval, de előnyben kell részesíteni, mivel a stabil, definiált sémát jobban kommunikálja.

HTTP methods

A szolgáltatásindex HTTP-metódusokkal GET és HEAD.

Resources

A resources tulajdonság a csomagforrás által támogatott erőforrások tömbét tartalmazza.

Resource

Az erőforrás egy objektum a resources tömbben. A csomagforrás verziószámozott képességét jelöli. Egy erőforrás a következő tulajdonságokkal rendelkezik:

Name Típus Required Notes
@id karakterlánc yes Az erőforrás URL-címe
@type karakterlánc yes Az erőforrástípust jelképező sztringállandó
hozzászólás karakterlánc no Az erőforrás olvasható leírása

Az @id URL-címnek abszolútnak kell lennie, és HTTP- vagy HTTPS-sémával kell rendelkeznie.

Ez @type az erőforrással való interakcióhoz használandó protokoll azonosítására szolgál. Az erőforrás típusa egy átlátszatlan sztring, de általában a formátuma:

{RESOURCE_NAME}/{RESOURCE_VERSION}

Az ügyfeleknek várhatóan keményen kell kódelniük az @type általuk megértett értékeket, és fel kell keresniük őket egy csomagforrás szolgáltatásindexében. A jelenleg használt pontos @type értékek felsorolása az API áttekintésében felsorolt egyes erőforrás-referenciadokumentumokon található.

A dokumentáció kedvéért a különböző erőforrások dokumentációját alapvetően a {RESOURCE_NAME} szolgáltatásindexben találhatóak szerint csoportosítjuk, amely hasonló a forgatókönyvek szerinti csoportosításhoz.

Nincs szükség arra, hogy minden erőforrás egyedi @id vagy @type. Az ügyfél implementációja határozza meg, hogy melyik erőforrást szeretné előnyben részesíteni egy másiknál. Az egyik lehetséges megvalósítás az, hogy az azonos vagy kompatibilis @type erőforrások ciklikus időszeleteléses módon használhatók kapcsolati hiba vagy kiszolgálóhiba esetén.

Az erőforrások más gazdagépet vagy tartományt használhatnak, mint a szolgáltatásindex, de ez problémákat okozhat a szigorú hálózati szabályokkal rendelkező környezetekben. Különösen akkor, ha a szolgáltatásindex olyan erőforrásokat ad hozzá, amelyek közvetlenül a nuget.org mutatnak (ahelyett, hogy proxyt vagy gyorsítótárazást végeznek a saját csatornán keresztül), a hírcsatorna nem fog működni, ha a nuget.org hozzáférése le van tiltva. Ha a hírcsatorna bizonyos erőforrásokat delegál nuget.org, javasoljuk, hogy adjon hozzá egy konfigurációt, hogy a hírcsatorna üzembe helyezésekor a közvetlen nuget.org hivatkozás eltávolítható legyen a szolgáltatásindexből.

Sample request

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

Sample response

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