Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
É possível pesquisar pacotes disponíveis em uma fonte de pacote usando a API V3. O recurso usado para pesquisa é o SearchQueryService recurso encontrado no índice de serviço.
Versioning
Os seguintes @type valores são usados:
| Valor de @type | Notes |
|---|---|
| SearchQueryService | A versão inicial |
| SearchQueryService/3.0.0-beta | Alias de SearchQueryService |
| SearchQueryService/3.0.0-rc | Alias de SearchQueryService |
| SearchQueryService/3.5.0 | Inclui suporte para packageType o parâmetro de consulta |
SearchQueryService/3.5.0
Esta versão apresenta suporte para o packageType parâmetro de consulta e a packageTypes propriedade de resposta, permitindo a filtragem por tipos de pacote definidos pelo autor. Ele é totalmente compatível com versões anteriores com consultas para SearchQueryService.
URL base
A URL base da API a seguir é o valor da @id propriedade associada a um dos valores de recurso @type mencionados anteriormente. No documento a seguir, a URL {@id} base do espaço reservado será usada. A URL base pode ser alterada com base em alterações de implementação ou infraestrutura na origem do pacote, portanto, ela deve ser buscada dinamicamente do índice de serviço pelo software cliente.
Métodos HTTP
Todas as URLs encontradas no recurso de registro dão suporte aos métodos GET HTTP e HEAD.
Pesquisar pacotes
A API de pesquisa permite que um cliente consulte uma página de pacotes que correspondem a uma consulta de pesquisa especificada. A interpretação da consulta de pesquisa (por exemplo, a tokenização dos termos de pesquisa) é determinada pela implementação do servidor, mas a expectativa geral é que a consulta de pesquisa seja usada para correspondência de IDs de pacote, títulos, descrições e marcas. Outros campos de metadados de pacote também podem ser considerados.
Um pacote não listado nunca deve aparecer nos resultados da pesquisa.
GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
Parâmetros de solicitação
| Name | Em | Tipo | Obrigatório | Notes |
|---|---|---|---|---|
| q | URL | cadeia | no | Os termos de pesquisa a serem usados para filtrar pacotes |
| ignorar | URL | inteiro | no | O número de resultados a serem ignoradas para paginação |
| tomar | URL | inteiro | no | O número de resultados a serem retornados para paginação |
| pré-lançamento | URL | booliano | no |
true ou false determinar se os pacotes de pré-lançamento devem ser incluídos |
| semVerLevel | URL | cadeia | no | Uma cadeia de caracteres de versão semVer 1.0.0 |
| tipo de pacote | URL | cadeia | no | O tipo de pacote a ser usado para filtrar pacotes (adicionado em SearchQueryService/3.5.0) |
A consulta de pesquisa q é analisada de uma maneira definida pela implementação do servidor. nuget.org dá suporte à filtragem básica em uma variedade de campos. Se não q for fornecido, todos os pacotes deverão ser retornados, dentro dos limites impostos por skip e take. Isso habilita a guia "Procurar" na experiência de Visual Studio NuGet.
O skip parâmetro usa como padrão 0.
O take parâmetro deve ser um inteiro maior que zero. A implementação do servidor pode impor um valor máximo.
Note
nuget.org limita o skip parâmetro a 3.000 e o take parâmetro a 1.000.
Se prerelease não for fornecido, os pacotes de pré-lançamento serão excluídos.
O semVerLevel parâmetro de consulta é usado para aceitar pacotes SemVer 2.0.0.
Se esse parâmetro de consulta for excluído, somente pacotes com versões compatíveis com SemVer 1.0.0 serão retornados (com as limitações de controle de versão padrão do NuGet , como cadeias de caracteres de versão com 4 partes inteiros).
Se semVerLevel=2.0.0 for fornecido, os pacotes compatíveis semVer 1.0.0 e SemVer 2.0.0 serão retornados. Consulte o suporte do SemVer 2.0.0 para nuget.org para obter mais informações.
O packageType parâmetro é usado para filtrar ainda mais os resultados da pesquisa apenas para pacotes que têm pelo menos um tipo de pacote que corresponda ao nome do tipo de pacote.
Se o tipo de pacote fornecido não for um tipo de pacote válido, conforme definido pelo documento tipo de pacote, um resultado vazio será retornado.
Se o tipo de pacote fornecido estiver vazio, nenhum filtro será aplicado. Em outras palavras, não passar nenhum valor para o parâmetro packageType se comportará como se o parâmetro não tivesse sido passado.
Resposta
A resposta é um documento JSON que contém até take os resultados da pesquisa. Os resultados da pesquisa são agrupados por ID do pacote.
O objeto JSON raiz tem as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| totalHits | inteiro | yes | O número total de correspondências, desconsiderando skip e take |
| dados | matriz de objetos | yes | Os resultados da pesquisa correspondidos pela solicitação |
Resultado da pesquisa
Cada item na data matriz é um objeto JSON composto por um grupo de versões de pacote que compartilham a mesma ID do pacote.
O objeto tem as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| id | cadeia | yes | A ID do pacote correspondente |
| versão | cadeia | yes | A cadeia de caracteres de versão semVer 2.0.0 completa do pacote (pode conter metadados de build) |
| description | cadeia | no | |
| substituição | objeto | no | A substituição associada à versão mais recente do pacote |
| versões | matriz de objetos | yes | Todas as versões do pacote que correspondem ao prerelease parâmetro |
| autores | cadeia de caracteres ou matriz de cadeias de caracteres | no | |
| iconUrl | cadeia | no | |
| URL da licença | cadeia | no | |
| owners | cadeia de caracteres ou matriz de cadeias de caracteres | no | Uma cadeia de caracteres representa o nome de usuário de um único proprietário |
| URL do projeto | cadeia | no | |
| registro | cadeia | no | A URL absoluta para o índice de registro associado |
| resumo | cadeia | no | |
| tags | cadeia de caracteres ou matriz de cadeias de caracteres | no | |
| title | cadeia | no | |
| totalDownloads | inteiro | no | Esse valor pode ser inferido pela soma dos downloads na versions matriz |
| verificado | booliano | no | Um booliano JSON que indica se o pacote é verificado |
| Vulnerabilidades | matriz de objetos | no | As vulnerabilidades de segurança conhecidas associadas à versão mais recente do pacote |
| packageTypes | matriz de objetos | yes | Os tipos de pacote definidos pelo autor do pacote (adicionado em SearchQueryService/3.5.0) |
Em nuget.org, um pacote verificado é aquele que tem uma ID de pacote correspondente a um prefixo de ID reservado e de propriedade de um dos proprietários do prefixo reservado. Para obter mais informações, consulte a documentação sobre a reserva de prefixo de ID.
Os metadados contidos no objeto de resultado da pesquisa são retirados da versão mais recente do pacote. Cada item na versions matriz é um objeto JSON com as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| @id | cadeia | yes | A URL absoluta para a folha de registro associada |
| versão | cadeia | yes | A cadeia de caracteres de versão semVer 2.0.0 completa do pacote (pode conter metadados de build) |
| Downloads | inteiro | yes | O número de downloads para esta versão específica do pacote |
Depreciação de pacote
O objeto deprecation tem as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| Razões | Matriz de cadeias de caracteres | yes | Os motivos pelos quais o pacote foi preterido |
| mensagem | cadeia | no | Detalhes adicionais sobre a substituição |
| alternatePackage | objeto | no | Em vez disso, o pacote alternativo a ser usado |
A reasons matriz contém pelo menos um dos valores documentados na substituição do pacote.
O objeto alternatePackage tem as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| id | cadeia | yes | A ID do pacote alternativo |
| alcance | cadeia | no | O intervalo de versão permitido ou * se qualquer versão for permitida |
Vulnerabilidades
Cada item na vulnerabilities matriz é um objeto JSON com as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| advisoryUrl | cadeia | yes | A URL do aviso de segurança para o pacote |
| gravidade | inteiro | yes | A gravidade da consultoria: 0 = Baixa, 1 = Moderada, 2 = Alta e 3 = Crítica |
A matriz fica vazia quando a versão mais recente do pacote não tem vulnerabilidades conhecidas.
A packageTypes matriz sempre consistirá em pelo menos um (1) item. O tipo de pacote para uma determinada ID de pacote é considerado como os tipos de pacote definidos pela versão mais recente do pacote em relação aos outros parâmetros de pesquisa. Cada item na packageTypes matriz é um objeto JSON com as seguintes propriedades:
| Name | Tipo | Obrigatório | Notes |
|---|---|---|---|
| nome | cadeia | yes | O nome do tipo de pacote. |
Solicitação de exemplo
GET https://search-sample.nuget.org/query?q=NuGet.Versioning&prerelease=false&semVerLevel=2.0.0
Certifique-se de buscar a URL base (https://search-sample.nuget.org/query neste exemplo) do índice de serviço, conforme mencionado na seção URL base .
Resposta de exemplo
{
"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"
}
]
}
]
}