Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Можно отправить, удалить (или отменить список в зависимости от реализации сервера) и перезаписать пакеты с помощью API NuGet версии 3. Эти операции основаны на ресурсеPackagePublish, найденном в индексе службы.
Управление версиями
Используется следующее @type значение:
| Значение @type | Примечания. |
|---|---|
| PackagePublish/2.0.0 | Начальный выпуск |
Базовый URL-адрес
Базовый URL-адрес для следующих API — это значение @id свойства PackagePublish/2.0.0 ресурса в индексе службы источника пакета. В документации ниже используется URL-адрес nuget.org. Рассмотрим https://www.nuget.org/api/v2/package как заполнитель для @id значения, найденного в индексе службы.
Обратите внимание, что этот URL-адрес указывает на то же расположение, что и конечная точка отправки версии 2, так как протокол совпадает.
Методы HTTP
Методы PUT, POST и DELETE HTTP поддерживаются этим ресурсом. Какие методы поддерживаются в каждой конечной точке, см. ниже.
Отправка пакета
Примечание.
nuget.org имеет дополнительные требования для взаимодействия с конечной точкой push-отправки.
nuget.org поддерживает отправку новых пакетов с помощью следующего API. Если пакет с указанным идентификатором и версией уже существует, nuget.org отклонит отправку. Другие источники пакетов могут поддерживать замену существующего пакета.
PUT https://www.nuget.org/api/v2/package
Параметры запроса
| Имя. | In | Тип | Обязательное поле | Примечания. |
|---|---|---|---|---|
| X-NuGet-ApiKey | Верхний колонтитул | строка | yes | Например: X-NuGet-ApiKey: {USER_API_KEY} |
Ключ API — это непрозрачная строка, полученная из источника пакета пользователем и настроенная в клиенте. Не требуется конкретный формат строки, но длина ключа API не должна превышать разумный размер для значений заголовков HTTP.
Текст запроса
Текст запроса должен находиться в следующей форме:
Составные данные форм
Заголовок Content-Type запроса — multipart/form-data это первый элемент в тексте запроса — необработанные байты отправляемого NUPKG. Последующие элементы в многопартийном тексте игнорируются. Имя файла или любые другие заголовки многопартийных элементов игнорируются.
Response
| Код состояния | Значение |
|---|---|
| 201, 202 | Пакет был успешно отправлен |
| 400 | Предоставленный пакет недопустим |
| 409 | Пакет с предоставленным идентификатором и версией уже существует |
Реализации сервера зависят от кода состояния успешного выполнения, возвращаемого при успешном отправке пакета.
Удаление пакета
nuget.org интерпретирует запрос на удаление пакета как "неподписанный". Это означает, что пакет по-прежнему доступен для существующих потребителей пакета, но пакет больше не отображается в результатах поиска или в веб-интерфейсе. Дополнительные сведения об этой практике см. в политике удаленных пакетов . Другие реализации сервера могут интерпретировать этот сигнал как жесткое удаление, обратимое удаление или отмена списка. Например, NuGet.Server (реализация сервера, поддерживающая только старый API версии 2), поддерживает обработку этого запроса в виде списка или жесткого удаления на основе параметра конфигурации.
DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}
Параметры запроса
| Имя. | In | Тип | Обязательное поле | Примечания. |
|---|---|---|---|---|
| Идентификатор | URL | строка | yes | Идентификатор пакета для удаления |
| ВЕРСИЯ | URL | строка | yes | Версия пакета для удаления |
| X-NuGet-ApiKey | Верхний колонтитул | строка | yes | Например: X-NuGet-ApiKey: {USER_API_KEY} |
Response
| Код состояния | Значение |
|---|---|
| 204 | Пакет был удален |
| 404 | Нет пакета с предоставленным ID и VERSION существует |
Перезапись пакета
Если пакет не указан в списке, можно сделать этот пакет еще раз видимым в результатах поиска с помощью конечной точки повторного списка. Эта конечная точка имеет ту же форму, что и конечная точка удаления (отмена списка), но использует POST метод HTTP вместо DELETE метода.
Если пакет уже указан, запрос по-прежнему завершается успешно.
POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}
Параметры запроса
| Имя. | In | Тип | Обязательное поле | Примечания. |
|---|---|---|---|---|
| Идентификатор | URL | строка | yes | Идентификатор пакета для повторного списка |
| ВЕРСИЯ | URL | строка | yes | Версия пакета для повторного списка |
| X-NuGet-ApiKey | Верхний колонтитул | строка | yes | Например: X-NuGet-ApiKey: {USER_API_KEY} |
Response
| Код состояния | Значение |
|---|---|
| 200 | Теперь пакет указан в списке |
| 404 | Нет пакета с предоставленным ID и VERSION существует |