Sdílet prostřednictvím


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>