Obsah balíčků
Pomocí rozhraní API V3 je možné vygenerovat adresu URL pro načtení obsahu libovolného balíčku (souboru .nupkg). Prostředek použitý k načtení obsahu balíčku je PackageBaseAddress
prostředek nalezený v indexu služby. Tento prostředek také umožňuje zjišťovat všechny verze balíčku, které jsou uvedené nebo nezařazené.
Tento prostředek se obvykle označuje jako "základní adresa balíčku" nebo jako "plochý kontejner".
Vytváření verzí
Použije se následující @type
hodnota:
@type Hodnotu | Notes |
---|---|
PackageBaseAddress/3.0.0 | Počáteční verze |
Základní adresa URL
Základní adresa URL pro následující rozhraní API je hodnota @id
vlastnosti přidružené k výše uvedené hodnotě prostředku @type
. V následujícím dokumentu se použije zástupná základní adresa URL {@id}
. Základní adresa URL se může změnit na základě změn implementace nebo infrastruktury ve zdroji balíčku, takže se musí dynamicky načítat z indexu služby klientským softwarem.
Metody HTTP
Všechny adresy URL nalezené v prostředku obsahu balíčku podporují metody GET
HTTP a HEAD
.
Výčet verzí balíčků
Pokud klient zná ID balíčku a chce zjistit, které verze balíčků má zdroj balíčku k dispozici, může klient vytvořit předvídatelnou adresu URL pro výčet všech verzí balíčků. Tento seznam je určený jako "výpis adresáře" pro rozhraní API obsahu balíčku, které je uvedeno níže.
Poznámka:
Tento seznam obsahuje uvedené i nezařazené verze balíčků.
GET {@id}/{LOWER_ID}/index.json
Parametry požadavku
Název | V | Typ | Požaduje se | Notes |
---|---|---|---|---|
LOWER_ID | URL | string | ano | ID balíčku, s nižšími písmeny |
Hodnota LOWER_ID
je ID požadovaného balíčku s dolními písmeny pomocí pravidel implementovaných . System.String.ToLowerInvariant()
Metoda NET.
Response
Pokud zdroj balíčku nemá žádné verze zadaného ID balíčku, vrátí se stavový kód 404.
Pokud má zdroj balíčku jednu nebo více verzí, vrátí se stavový kód 200. Tělo odpovědi je objekt JSON s následující vlastností:
Name | Type | Požaduje se | Notes |
---|---|---|---|
versions | pole řetězců | ano | Dostupné verze |
Řetězce v versions
poli jsou všechny řetězce s nižšími písmeny, normalizované řetězce verze NuGet. Řetězce verzí neobsahují žádná metadata sestavení SemVer 2.0.0.
Záměrem je, že řetězce verzí nalezené v tomto poli lze použít doslovné znění LOWER_VERSION
tokenů nalezených v následujících koncových bodech.
Ukázkový požadavek
GET https://api.nuget.org/v3-flatcontainer/owin/index.json
Nezapomeňte načíst základní adresu URL (https://api.nuget.org/v3-flatcontainer/
v této ukázce) z indexu služby, jak je uvedeno v části základní adresy URL .
Ukázková odpověď
{
"versions": [
"0.5.0",
"0.7.0",
"0.11.0",
"0.12.0",
"0.14.0",
"1.0.0"
]
}
Stažení obsahu balíčku (.nupkg)
Pokud klient zná ID balíčku a verzi a chce stáhnout obsah balíčku, stačí vytvořit pouze následující adresu URL:
GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.{LOWER_VERSION}.nupkg
Parametry požadavku
Název | V | Typ | Požaduje se | Notes |
---|---|---|---|---|
LOWER_ID | URL | string | ano | ID balíčku, malá písmena |
LOWER_VERSION | URL | string | ano | Verze balíčku, normalizovaná a malá písmena |
Obě LOWER_ID
a LOWER_VERSION
jsou nižší pomocí pravidel implementovaných . NET System.String.ToLowerInvariant()
Metoda.
Jedná se LOWER_VERSION
o normalizovanou verzi balíčku pomocí pravidel normalizace verzí NuGetu. To znamená, že metadata sestavení povolená specifikací SemVer 2.0.0 musí být v tomto případě vyloučena.
Text odpovědi
Pokud balíček existuje ve zdroji balíčku, vrátí se stavový kód 200. Text odpovědi bude samotný obsah balíčku.
Pokud balíček ve zdroji balíčku neexistuje, vrátí se stavový kód 404.
Ukázkový požadavek
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg
Nezapomeňte načíst základní adresu URL (https://api.nuget.org/v3-flatcontainer/
v této ukázce) z indexu služby, jak je uvedeno v části základní adresy URL .
Ukázková odpověď
Binární datový proud, který je .nupkg pro Newtonsoft.Json 9.0.1.
Stažení manifestu balíčku (.nuspec)
Pokud klient zná ID balíčku a verzi a chce stáhnout manifest balíčku, stačí vytvořit pouze následující adresu URL:
GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.nuspec
Parametry požadavku
Název | V | Typ | Požaduje se | Notes |
---|---|---|---|---|
LOWER_ID | URL | string | ano | ID balíčku, malá písmena |
LOWER_VERSION | URL | string | ano | Verze balíčku, normalizovaná a malá písmena |
Obě LOWER_ID
a LOWER_VERSION
jsou nižší pomocí pravidel implementovaných . System.String.ToLowerInvariant()
Metoda NET.
Jedná se LOWER_VERSION
o normalizovanou verzi balíčku pomocí pravidel normalizace verzí NuGetu. To znamená, že metadata sestavení povolená specifikací SemVer 2.0.0 musí být v tomto případě vyloučena.
Text odpovědi
Pokud balíček existuje ve zdroji balíčku, vrátí se stavový kód 200. Tělo odpovědi bude manifest balíčku, což je soubor .nuspec obsažený v odpovídajícím souboru .nupkg. .nuspec je dokument XML.
Pokud balíček ve zdroji balíčku neexistuje, vrátí se stavový kód 404.
Ukázkový požadavek
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.nuspec
Nezapomeňte načíst základní adresu URL (https://api.nuget.org/v3-flatcontainer/
v této ukázce) z indexu služby, jak je uvedeno v části základní adresy URL .
Ukázková odpověď
<?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>