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 | sí | 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 | sí | Id. del paquete que se va a eliminar |
VERSION | Dirección URL | string | sí | Versión del paquete que se va a eliminar |
X-NuGet-ApiKey | Encabezado | string | sí | 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 | sí | Id. del paquete que se va a volver a incluir en la lista |
VERSION | Dirección URL | string | sí | La versión del paquete que se va a volver a incluir en la lista |
X-NuGet-ApiKey | Encabezado | string | sí | 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 |