Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Es posible buscar paquetes disponibles en un origen de paquete mediante la API V3. El recurso que se usa para buscar es el SearchQueryService recurso que se encuentra en el índice de servicio.
Control de versiones
Se usan los siguientes @type valores:
| @type valor | Notas |
|---|---|
| SearchQueryService | La versión inicial |
| SearchQueryService/3.0.0-beta | Alias de SearchQueryService |
| SearchQueryService/3.0.0-rc | Alias de SearchQueryService |
| SearchQueryService/3.5.0 | Incluye compatibilidad con el packageType parámetro de consulta |
SearchQueryService/3.5.0
Esta versión presenta compatibilidad con el packageType parámetro de consulta y la packageTypes propiedad de respuesta, lo que permite filtrar por tipos de paquete definidos por el autor. Es totalmente compatible con versiones anteriores con las consultas a SearchQueryService.
Dirección URL base
La dirección URL base de la SIGUIENTE API es el valor de la @id propiedad asociada a uno de los valores de recursos @type mencionados anteriormente. En el siguiente documento, se usará la dirección URL {@id} base del marcador de posición. La dirección URL base puede cambiar en función de los cambios de implementación o infraestructura dentro del origen del paquete, por lo que el software cliente debe capturar dinámicamente desde el índice de servicio .
Métodos HTTP
Todas las direcciones URL que se encuentran en el recurso de registro admiten los métodos GET HTTP y HEAD.
Buscar paquetes
La API de búsqueda permite que un cliente consulte una página de paquetes que coincida con una consulta de búsqueda especificada. La interpretación de la consulta de búsqueda (por ejemplo, la tokenización de los términos de búsqueda) viene determinada por la implementación del servidor, pero la expectativa general es que la consulta de búsqueda se use para buscar identificadores de paquete coincidentes, títulos, descripciones y etiquetas. También se pueden tener en cuenta otros campos de metadatos del paquete.
Un paquete no enumerado nunca debería aparecer en los resultados de la búsqueda.
GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
Parámetros de solicitud
| Name | En | Tipo | Obligatorio | Notas |
|---|---|---|---|---|
| q | URL | string | no | Términos de búsqueda que se usan para filtrar paquetes |
| skip | URL | integer | no | Número de resultados que se van a omitir, para la paginación |
| tomar | URL | integer | no | Número de resultados que se van a devolver, para la paginación |
| versión preliminar | URL | boolean | no |
true o false determinar si se deben incluir paquetes de versión preliminar |
| semVerLevel | URL | string | no | Cadena de versión de SemVer 1.0.0 |
| tipo de paquete | URL | string | no | Tipo de paquete que se va a usar para filtrar paquetes (agregados en SearchQueryService/3.5.0) |
La consulta q de búsqueda se analiza de una manera definida por la implementación del servidor. nuget.org admite el filtrado básico en una variedad de campos. Si no se proporciona, q se deben devolver todos los paquetes, dentro de los límites impuestos por omitir y tomar. Esto habilita la pestaña "Examinar" en la experiencia de Visual Studio nuGet.
El skip parámetro tiene como valor predeterminado 0.
El take parámetro debe ser un entero mayor que cero. La implementación del servidor puede imponer un valor máximo.
Nota:
nuget.org limita el skip parámetro a 3000 y el take parámetro a 1000.
Si prerelease no se proporciona, se excluyen los paquetes de versión preliminar.
El semVerLevel parámetro de consulta se usa para participar en los paquetes de SemVer 2.0.0.
Si se excluye este parámetro de consulta, solo se devolverán paquetes con versiones compatibles de SemVer 1.0.0 (con las advertencias de control de versiones estándar de NuGet , como cadenas de versión con 4 fragmentos enteros).
Si semVerLevel=2.0.0 se proporciona, se devolverán los paquetes compatibles semVer 1.0.0 y SemVer 2.0.0. Consulte la compatibilidad de SemVer 2.0.0 con nuget.org para obtener más información.
El packageType parámetro se usa para filtrar aún más los resultados de la búsqueda solo a paquetes que tengan al menos un tipo de paquete que coincida con el nombre del tipo de paquete.
Si el tipo de paquete proporcionado no es un tipo de paquete válido tal como se define en el documento Tipo de paquete, se devolverá un resultado vacío.
Si el tipo de paquete proporcionado está vacío, no se aplicará ningún filtro. En otras palabras, pasar ningún valor al parámetro packageType se comportará como si no se pasara el parámetro.
Respuesta
La respuesta es un documento JSON que contiene hasta take los resultados de la búsqueda. Los resultados de la búsqueda se agrupan por identificador de paquete.
El objeto JSON raíz tiene las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| totalHits | integer | yes | Número total de coincidencias, desatendiendo skip y take |
| datos | matriz de objetos | yes | Resultados de búsqueda coincidentes con la solicitud |
Resultado de la búsqueda
Cada elemento de la data matriz es un objeto JSON formado por un grupo de versiones de paquete que comparten el mismo identificador de paquete.
El objeto tiene las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| id | string | yes | Identificador del paquete coincidente |
| version | string | yes | Cadena de versión completa de SemVer 2.0.0 del paquete (podría contener metadatos de compilación). |
| description | string | no | |
| en desuso | object | no | Desuso asociado a la versión del paquete más reciente |
| versions | matriz de objetos | yes | Todas las versiones del paquete que coinciden con el prerelease parámetro |
| authors | cadena o matriz de cadenas | no | |
| iconUrl | string | no | |
| licenseUrl | string | no | |
| owners | cadena o matriz de cadenas | no | Una cadena representa el nombre de usuario de un solo propietario. |
| projectUrl | string | no | |
| registro | string | no | Dirección URL absoluta del índice de registro asociado |
| summary | string | no | |
| tags | cadena o matriz de cadenas | no | |
| title | string | no | |
| totalDownloads | integer | no | Este valor se puede deducir mediante la suma de descargas en la versions matriz. |
| comprobado | boolean | no | Valor booleano JSON que indica si se comprueba el paquete. |
| Vulnerabilidades | matriz de objetos | no | Vulnerabilidades de seguridad conocidas asociadas a la versión del paquete más reciente |
| packageTypes | matriz de objetos | yes | Los tipos de paquete definidos por el autor del paquete (agregados en SearchQueryService/3.5.0) |
En nuget.org, un paquete comprobado es uno que tiene un identificador de paquete que coincide con un prefijo de identificador reservado y que pertenece a uno de los propietarios del prefijo reservado. Para obtener más información, consulte la documentación sobre la reserva de prefijos de identificador.
Los metadatos contenidos en el objeto de resultado de búsqueda se toman de la versión del paquete más reciente. Cada elemento de la versions matriz es un objeto JSON con las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| @id | string | yes | Dirección URL absoluta de la hoja de registro asociada |
| version | string | yes | Cadena de versión completa de SemVer 2.0.0 del paquete (podría contener metadatos de compilación). |
| Descargas | integer | yes | Número de descargas para esta versión de paquete específica |
Deprecación del paquete
El objeto deprecation tiene las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| Razones | Matriz de cadenas | yes | Las razones por las que el paquete está en desuso |
| message | string | no | Detalles adicionales sobre el desuso |
| alternatePackage | object | no | El paquete alternativo que se va a usar en su lugar |
La reasons matriz contiene al menos uno de los valores documentados en Desuso del paquete.
El objeto alternatePackage tiene las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| id | string | yes | Identificador del paquete alternativo |
| rango | string | no | Intervalo de versiones permitido o * si se permite alguna versión |
Vulnerabilidades
Cada elemento de la vulnerabilities matriz es un objeto JSON con las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| advisoryUrl | string | yes | Dirección URL del aviso de seguridad para el paquete |
| severity | integer | yes | Gravedad del aviso: 0 = Baja, 1 = Moderada, 2 = Alta y 3 = Crítica |
La matriz está vacía cuando la versión del paquete más reciente no tiene vulnerabilidades conocidas.
La packageTypes matriz siempre constará de al menos un elemento (1). El tipo de paquete para un identificador de paquete determinado se considera los tipos de paquete definidos por la versión más reciente del paquete con respecto a los demás parámetros de búsqueda. Cada elemento de la packageTypes matriz es un objeto JSON con las siguientes propiedades:
| Name | Tipo | Obligatorio | Notas |
|---|---|---|---|
| nombre | string | yes | Nombre del tipo de paquete. |
Solicitud de ejemplo
GET https://search-sample.nuget.org/query?q=NuGet.Versioning&prerelease=false&semVerLevel=2.0.0
Asegúrese de capturar la dirección URL base (https://search-sample.nuget.org/query en este ejemplo) del índice de servicio, como se mencionó en la sección dirección URL base .
Respuesta de ejemplo
{
"totalHits": 2,
"data": [
{
"registration": "https://api.nuget.org/v3/registration-sample/nuget.versioning/index.json",
"id": "NuGet.Versioning",
"version": "4.4.0",
"description": "NuGet's implementation of Semantic Versioning.",
"summary": "",
"title": "NuGet.Versioning",
"licenseUrl": "https://raw.githubusercontent.com/NuGet/NuGet.Client/dev/LICENSE.txt",
"tags": [ "semver", "semantic", "versioning" ],
"authors": [ "NuGet" ],
"totalDownloads": 141896,
"verified": true,
"vulnerabilities": [],
"packageTypes": [
{
"name": "Dependency"
}
],
"versions": [
{
"version": "3.3.0",
"downloads": 50343,
"@id": "https://api.nuget.org/v3/registration-sample/nuget.versioning/3.3.0.json"
},
{
"version": "3.4.3",
"downloads": 27932,
"@id": "https://api.nuget.org/v3/registration-sample/nuget.versioning/3.4.3.json"
},
{
"version": "4.0.0",
"downloads": 63004,
"@id": "https://api.nuget.org/v3/registration-sample/nuget.versioning/4.0.0.json"
},
{
"version": "4.4.0",
"downloads": 617,
"@id": "https://api.nuget.org/v3/registration-sample/nuget.versioning/4.4.0.json"
}
]
},
{
"@id": "https://api.nuget.org/v3/registration-sample/nerdbank.gitversioning/index.json",
"@type": "Package",
"registration": "https://api.nuget.org/v3/registration-sample/nerdbank.gitversioning/index.json",
"id": "Nerdbank.GitVersioning",
"version": "2.0.41",
"description": "Stamps your assemblies with semver 2.0 compliant git commit specific version information and provides NuGet versioning information as well.",
"summary": "Stamps your assemblies with semver 2.0 compliant git commit specific version information and provides NuGet versioning information as well.",
"title": "Nerdbank.GitVersioning",
"licenseUrl": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/ed547462f7/LICENSE.txt",
"projectUrl": "http://github.com/aarnott/Nerdbank.GitVersioning",
"tags": [ "git", "commit", "versioning", "version", "assemblyinfo" ],
"authors": [ "Andrew Arnott" ],
"totalDownloads": 11906,
"verified": false,
"vulnerabilities": [],
"versions": [
{
"version": "1.6.35",
"downloads": 10229,
"@id": "https://api.nuget.org/v3/registration-sample/nerdbank.gitversioning/1.6.35.json"
},
{
"version": "2.0.41",
"downloads": 1677,
"@id": "https://api.nuget.org/v3/registration-sample/nerdbank.gitversioning/2.0.41.json"
}
]
}
]
}