Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Индекс службы — это документ JSON, который является точкой входа для источника пакета NuGet и позволяет клиентской реализации обнаруживать возможности источника пакета. Индекс службы — это объект JSON с двумя обязательными свойствами: version (версия схемы индекса службы) и resources (конечные точки или возможности источника пакета).
Индекс службы nuget.org находится по адресу https://api.nuget.org/v3/index.json.
Versioning
Значением version является строка версии SemVer 2.0.0.0, которая указывает версию схемы индекса службы. API предписывает, что строка версии имеет основной номер версии 3. Поскольку некритичные изменения вносятся в схему индекса службы, дополнительная версия строки версии будет увеличена.
Каждый ресурс в индексе службы зависит от версии схемы индекса службы.
Текущая 3.0.0версия схемы . Версия 3.0.0 функционально эквивалентна более старой 3.0.0-beta.1 версии, но она должна быть предпочтительнее, так как она более четко взаимодействует с стабильной, определенной схемой.
HTTP methods
Индекс службы доступен с помощью методов GET HTTP и HEAD.
Resources
Свойство resources содержит массив ресурсов, поддерживаемых этим источником пакета.
Resource
Ресурс — это объект в массиве resources . Он представляет версию возможности источника пакета. Ресурс имеет следующие свойства:
| Name | Type | Required | Notes |
|---|---|---|---|
| @id | string | yes | URL-адрес ресурса |
| @type | string | yes | Строковая константа, представляющая тип ресурса |
| comment | string | no | Удобочитаемое описание ресурса |
Это @id URL-адрес, который должен быть абсолютным и должен иметь схему HTTP или HTTPS.
Используется @type для идентификации конкретного протокола, используемого при взаимодействии с ресурсом. Тип ресурса является непрозрачной строкой, но обычно имеет формат:
{RESOURCE_NAME}/{RESOURCE_VERSION}
Ожидается, что клиенты жестко кодируют @type значения, которые они понимают и ищут в индексе службы источника пакета. Точные @type значения, используемые сегодня, перечисляются в отдельных справочных документах по ресурсам, перечисленных в обзоре API.
Для этой документации документация по разным ресурсам, по сути, будет сгруппирована {RESOURCE_NAME} по индексу службы, который аналогичен группировке по сценариям.
Не требуется, чтобы каждый ресурс был уникальным @id или @type. Это зависит от клиентской реализации, чтобы определить, какой ресурс следует предпочесть другому. Одна из возможных реализаций заключается в том, что ресурсы одного и того же или совместимого @type могут использоваться в режиме циклического перебора в случае сбоя подключения или ошибки сервера.
Ресурс может использовать другой узел или домен, отличный от индекса службы, но это может вызвать проблемы в средах с строгими правилами сети. В частности, если индекс службы добавляет ресурсы, указывающие непосредственно на nuget.org (а не прокси-сервер или кэширование через собственный веб-канал), веб-канал не будет работать, где доступ к nuget.org заблокирован. Если веб-канал будет делегировать определенные ресурсы nuget.org, рекомендуется добавить конфигурацию, чтобы при развертывании веб-канала можно удалить прямую nuget.org ссылку из индекса службы.
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."
}
]
}