Skip to content
This repository was archived by the owner on Mar 6, 2025. It is now read-only.

Latest commit

 

History

History
138 lines (84 loc) · 5.86 KB

File metadata and controls

138 lines (84 loc) · 5.86 KB
title 包内容,NuGet API
description 包基址是一个简单的接口,用于提取包本身。
author joelverhagen
ms.author jver
ms.date 10/26/2017
ms.topic reference
ms.reviewer kraigb
ms.openlocfilehash 7aea28d6224a89149aa33be035c82a45db3058f0
ms.sourcegitcommit 1eda83ab537c86cc27316e7bc67f95a358766e63
ms.translationtype MT
ms.contentlocale zh-CN
ms.lasthandoff 09/18/2019
ms.locfileid 71094124

包内容

可以使用 V3 API 生成 URL 来提取任意包的内容(nupkg 文件)。 用于提取包内容的资源是在PackageBaseAddress 服务索引中找到的资源。 此资源还允许发现包的所有版本、列出或未列出。

此资源通常称为 "包基址" 或 "平面容器"。

版本管理

使用以下@type值:

@type 值 说明
PackageBaseAddress/3.0.0 初始版本

基 URL

以下 api 的基 URL 是与上述资源@id @type值关联的属性的值。 在下面的文档中,将使用占位符{@id}基 URL。

HTTP 方法

注册资源中找到的所有 url 都支持 HTTP 方法GETHEAD

枚举包版本

如果客户端知道包 ID 并想要发现包源有哪些包版本可用,则客户端可以构造可预测的 URL 来枚举所有包版本。 此列表应为下述包内容 API 的 "目录列表"。

Note

此列表包含列出和未列出的包版本。

GET {@id}/{LOWER_ID}/index.json

请求参数

name 类型 必填 说明
LOWER_ID URL string 包 ID lowercased

LOWER_ID值是所需的包 ID lowercased,它使用由实现的规则。NET 的System.String.ToLowerInvariant()方法。

响应

如果包源没有提供的包 ID 版本,则返回404状态代码。

如果包源有一个或多个版本,则返回200状态代码。 响应正文是包含以下属性的 JSON 对象:

name 类型 必填 说明
版本 字符串数组 可用版本

versions数组中的字符串是所有 lowercased 的规范化 NuGet 版本字符串。 版本字符串不包含任何 SemVer 2.0.0 生成元数据。

目的在于,在此数组中找到的版本字符串可以逐字LOWER_VERSION用于以下终结点中的标记。

示例请求

GET https://api.nuget.org/v3-flatcontainer/owin/index.json

示例响应

[!code-JSON package-base-address-index.json]

下载包内容(. nupkg)

如果客户端知道包 ID 和版本并想要下载包内容,则它们只需构造以下 URL:

GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.{LOWER_VERSION}.nupkg

请求参数

name 类型 必填 说明
LOWER_ID URL string 包 ID,小写
LOWER_VERSION URL string 包版本(正常化和 lowercased)

LOWER_IDLOWER_VERSION都是使用实现的规则 lowercased 的。网络System.String.ToLowerInvariant() 方法。

是使用 NuGet 的版本规范化规则规范化的所需包版本。 LOWER_VERSION 这意味着,在这种情况下必须排除 SemVer 2.0.0 规范允许的生成元数据。

响应正文

如果包源上存在包,则返回200状态代码。 响应正文将是包内容本身。

如果包源中不存在包,则返回404状态代码。

示例请求

GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg

示例响应

Newtonsoft.json 的 nupkg 的二进制流。

下载包清单(. nuspec)

如果客户端知道包 ID 和版本并想要下载包清单,则它们只需构造以下 URL:

GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.nuspec

请求参数

name 类型 必需 说明
LOWER_ID URL string 包 ID,小写
LOWER_VERSION URL string 包版本(正常化和 lowercased)

LOWER_IDLOWER_VERSION都是使用实现的规则 lowercased 的。NET 的System.String.ToLowerInvariant()方法。

是使用 NuGet 的版本规范化规则规范化的所需包版本。 LOWER_VERSION 这意味着,在这种情况下必须排除 SemVer 2.0.0 规范允许的生成元数据。

响应正文

如果包源上存在包,则返回200状态代码。 响应正文将为包清单,即 nuspec 中包含的 nupkg。 Nuspec 是一个 XML 文档。

如果包源中不存在包,则返回404状态代码。

示例请求

GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.nuspec

示例响应

[!code-XML newtonsoft.json.6.0.4.xml]