Inserción y eliminación

Es posible insertar y eliminar (o anular de la lista, en función de la implementación del servidor), así como volver a incluir paquetes mediante la API de NuGet V3. Estas operaciones se basan en el recurso PackagePublish que se encuentra en el índice de servicio.

Control de versiones

Se utiliza el siguiente valor de @type:

Valor de @type Notas
PackagePublish/2.0.0 La versión inicial

URL base

La dirección URL base de las siguientes API es el valor de la propiedad @id del recurso PackagePublish/2.0.0 que se encuentra en el índice de servicio del origen del paquete. Para obtener la documentación que mostramos a continuación, es necesario utilizar la dirección URL de nuget.org. Considera https://www.nuget.org/api/v2/package como marcador de posición para el valor @id ubicado en el índice de servicio.

Nota: Esta dirección URL apunta a la misma ubicación que el punto de conexión de inserción V2 antiguo, ya que el protocolo es el mismo.

Métodos HTTP

Este recurso admite los métodos HTTP PUT, POST y DELETE. Sigue leyendo para conocer qué métodos se admiten en cada punto de conexión.

Inserción de un paquete

Nota:

nuget.org tiene requisitos adicionales para interactuar con el punto de conexión de inserción.

nuget.org admite la inserción de nuevos paquetes mediante la siguiente API. Si ya existe el paquete con el id. y la versión proporcionados, nuget.org rechazará la inserción. Otros orígenes de paquetes pueden admitir la sustitución de un paquete existente.

PUT https://www.nuget.org/api/v2/package

Parámetros de solicitud

Nombre En Tipo Obligatorio Notas
X-NuGet-ApiKey Encabezado string Por ejemplo: X-NuGet-ApiKey: {USER_API_KEY}

La clave de API es una cadena opaca extraída del origen del paquete por el usuario y configurada en el cliente. No se exige ningún formato de cadena determinado, pero la longitud de la clave de API no debe superar un tamaño razonable para los valores de encabezado HTTP.

Cuerpo de la solicitud

En el cuerpo de la solicitud, utiliza el siguiente formato:

Datos de formulario de varias partes

El encabezado de solicitud Content-Type es multipart/form-data, y el primer elemento del cuerpo de la solicitud son los bytes sin procesar del archivo .nupkg que se inserta. Los elementos posteriores del cuerpo de varias partes se ignoran. Se ignora el nombre de archivo o cualquier otro encabezado de los elementos de varias partes.

Respuesta

Código de estado Significado
201, 202 El paquete se ha insertado correctamente
400 El paquete proporcionado no es válido
409 Ya existe un paquete con el id. y la versión proporcionados

Las implementaciones del servidor varían en función del código de estado “correcto” que se devuelve cuando se inserta correctamente un paquete.

Eliminación de un paquete

nuget.org interpreta la solicitud de eliminación de paquete como una “anulación de la lista”. Esto significa que el paquete sigue estando disponible para los consumidores existentes del paquete, pero ya no aparece en los resultados de la búsqueda o en la interfaz web. Para obtener más información sobre esta práctica, consulta la directiva Paquetes eliminados. Otras implementaciones de servidor son libres de interpretar esta señal como una eliminación permanente, una eliminación temporal o una anulación de la lista. Por ejemplo, NuGet.Server (una implementación de servidor que solo admite la API V2 anterior) admite la manipulación de esta solicitud como una anulación de la lista o una eliminación permanente basada en una opción de configuración.

DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}

Parámetros de solicitud

Nombre En Tipo Obligatorio Notas
ID Dirección URL string Id. del paquete que se va a eliminar
VERSION Dirección URL string Versión del paquete que se va a eliminar
X-NuGet-ApiKey Encabezado string Por ejemplo: X-NuGet-ApiKey: {USER_API_KEY}

Respuesta

Código de estado Significado
204 El paquete se eliminó
404 No existe ningún paquete con el ID y la VERSION proporcionados

Volver a incluir un paquete en la lista

Si un paquete no está en la lista, es posible que ese paquete vuelva a estar visible en los resultados de la búsqueda mediante el punto de conexión “volver a incluir en la lista”. Este punto de conexión tiene la misma forma que el punto de conexión de eliminación (anulación de la lista), pero utiliza el método HTTP POST en lugar del método DELETE.

Si el paquete ya aparece en la lista, la solicitud se seguirá realizando correctamente.

POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}

Parámetros de solicitud

Nombre En Tipo Obligatorio Notas
ID Dirección URL string Id. del paquete que se va a volver a incluir en la lista
VERSION Dirección URL string La versión del paquete que se va a volver a incluir en la lista
X-NuGet-ApiKey Encabezado string Por ejemplo: X-NuGet-ApiKey: {USER_API_KEY}

Respuesta

Código de estado Significado
200 El paquete ya aparece en la lista
404 No existe ningún paquete con el ID y la VERSION proporcionados