Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det går att söka efter paket som är tillgängliga på en paketkälla med hjälp av V3-API:et. Resursen som används för sökning är resursen SearchQueryService som finns i tjänstindexet.
Versionshantering
Följande @type värden används:
| @type, värde | Notes |
|---|---|
| SearchQueryService | Den första versionen |
| SearchQueryService/3.0.0-beta | Alias för SearchQueryService |
| SearchQueryService/3.0.0-rc | Alias för SearchQueryService |
| SearchQueryService/3.5.0 | Innehåller stöd för packageType frågeparameter |
SearchQueryService/3.5.0
Den här versionen introducerar stöd för packageType frågeparametern och svarsegenskapen packageTypes , vilket tillåter filtrering efter redigeringsdefinierade pakettyper. Den är helt bakåtkompatibel med frågor till SearchQueryService.
Bas-webbadress
Bas-URL:en för följande API är värdet för egenskapen @id som är associerad med något av ovan nämnda resursvärden @type . I följande dokument används platshållarbas-URL:en {@id} . Bas-URL:en kan ändras baserat på implementerings- eller infrastrukturändringar i paketkällan, så den måste hämtas dynamiskt från tjänstindexet av klientprogramvaran.
HTTP-metoder
Alla URL:er som finns i registreringsresursen stöder HTTP-metoderna GET och HEAD.
Sök efter paket
Med sök-API:et kan en klient fråga efter en sida med paket som matchar en angiven sökfråga. Tolkningen av sökfrågan (t.ex. tokeniseringen av söktermer) bestäms av serverimplementeringen, men den allmänna förväntan är att sökfrågan används för matchande paket-ID:n, rubriker, beskrivningar och taggar. Andra fält för paketmetadata kan också övervägas.
Ett ej listat paket bör aldrig visas i sökresultaten.
GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
Parametrar för begäran
| Name | I | Typ | Obligatoriskt | Notes |
|---|---|---|---|---|
| q | URL | snöre | no | Söktermer som används för att filtrera paket |
| skip | URL | integer | no | Antalet resultat som ska hoppas över för sidnumrering |
| take | URL | integer | no | Antalet resultat som ska returneras för sidnumrering |
| förhandsversion | URL | boolean | no |
true eller false avgöra om du vill ta med förhandsversionspaket |
| semVerLevel | URL | snöre | no | En SemVer 1.0.0-versionssträng |
| pakettyp | URL | snöre | no | Pakettypen som ska användas för att filtrera paket (läggs till i SearchQueryService/3.5.0) |
Sökfrågan q parsas på ett sätt som definieras av serverimplementeringen. nuget.org stöder grundläggande filtrering på en mängd olika fält. Om inget q anges ska alla paket returneras inom de gränser som anges av hoppa över och ta. Detta aktiverar fliken "Bläddra" i NuGet-Visual Studio-upplevelsen.
Parametern skip är som standard 0.
Parametern take ska vara ett heltal som är större än noll. Serverimplementeringen kan medföra ett maximalt värde.
Note
nuget.org begränsar parametern skip till 3 000 och parametern take till 1 000.
Om prerelease inte anges undantas förhandsversionspaket.
Frågeparametern semVerLevel används för att välja SemVer 2.0.0-paket.
Om den här frågeparametern undantas returneras endast paket med SemVer 1.0.0-kompatibla versioner (med standardagrottor för NuGet-versionshantering , till exempel versionssträngar med 4 heltalsdelar).
Om semVerLevel=2.0.0 anges returneras både SemVer 1.0.0- och SemVer 2.0.0-kompatibla paket. Mer information finns i SemVer 2.0.0-supporten för nuget.org .
Parametern packageType används för att ytterligare filtrera sökresultaten till endast paket som har minst en pakettyp som matchar pakettypens namn.
Om den angivna pakettypen inte är en giltig pakettyp enligt definitionen i dokumentet Pakettyp returneras ett tomt resultat.
Om den angivna pakettypen är tom tillämpas inget filter. Med andra ord fungerar det som om parametern inte skickades om inget värde skickades till parametern packageType.
Svar
Svaret är JSON-dokument som innehåller upp till take sökresultat. Sökresultat grupperas efter paket-ID.
JSON-rotobjektet har följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| totalHits | integer | yes | Det totala antalet matchningar, utan hänsyn till skip och take |
| data | en matris med objekt | yes | Sökresultaten som matchas av begäran |
Sökresultat
Varje objekt i matrisen data är ett JSON-objekt som består av en grupp paketversioner som delar samma paket-ID.
Objektet har följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| id | snöre | yes | ID:t för det matchade paketet |
| version | snöre | yes | Den fullständiga SemVer 2.0.0-versionssträngen för paketet (kan innehålla kompileringsmetadata) |
| description | snöre | no | |
| föråldring | object | no | Utfasningen som är associerad med den senaste paketversionen |
| versions | en matris med objekt | yes | Alla versioner av paketet som matchar parametern prerelease |
| authors | sträng eller matris med strängar | no | |
| iconUrl | snöre | no | |
| licenseUrl | snöre | no | |
| ägare | sträng eller matris med strängar | no | En sträng representerar en enskild ägares användarnamn |
| projectUrl | snöre | no | |
| registrering | snöre | no | Den absoluta URL:en till det associerade registreringsindexet |
| summary | snöre | no | |
| tags | sträng eller matris med strängar | no | |
| title | snöre | no | |
| totalDownloads | integer | no | Det här värdet kan härledas av summan av nedladdningar i matrisen versions |
| Verifierat | boolean | no | Ett JSON-booleskt värde som anger om paketet har verifierats |
| Sårbarheter | en matris med objekt | no | Kända säkerhetsrisker som är associerade med den senaste paketversionen |
| packageTypes | en matris med objekt | yes | Pakettyperna som definieras av paketförfattaren (läggs till i SearchQueryService/3.5.0) |
På nuget.org är ett verifierat paket ett paket-ID som matchar ett reserverat ID-prefix och ägs av en av ägarna till det reserverade prefixet. Mer information finns i dokumentationen om ID-prefixreservation.
Metadata som finns i sökresultatobjektet hämtas från den senaste paketversionen. Varje objekt i matrisen versions är ett JSON-objekt med följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| @id | snöre | yes | Den absoluta URL:en till det associerade registreringsbladet |
| version | snöre | yes | Den fullständiga SemVer 2.0.0-versionssträngen för paketet (kan innehålla kompileringsmetadata) |
| Nedladdningar | integer | yes | Antalet nedladdningar för den här specifika paketversionen |
Utfasning av paket
Objektet deprecation har följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| Skäl | strängmatris | yes | Anledningen till att paketet var inaktuellt |
| message | snöre | no | Ytterligare information om utfasningen |
| alternatePackage | object | no | Det alternativa paketet som ska användas i stället |
Matrisen reasons innehåller minst ett av de värden som dokumenteras i Paketutfasning.
Objektet alternatePackage har följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| id | snöre | yes | ID för det alternativa paketet |
| range | snöre | no | Det tillåtna versionsintervallet eller * om någon version tillåts |
Sårbarheter
Varje objekt i matrisen vulnerabilities är ett JSON-objekt med följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| advisoryUrl | snöre | yes | URL:en för säkerhetsrådgivningen för paketet |
| severity | integer | yes | Den rådgivande allvarlighetsgraden: 0 = Låg, 1 = Måttlig, 2 = Hög och 3 = Kritisk |
Matrisen är tom när den senaste paketversionen inte har några kända säkerhetsrisker.
Matrisen packageTypes består alltid av minst ett (1) objekt. Pakettypen för ett visst paket-ID anses vara de pakettyper som definieras av den senaste versionen av paketet med avseende på de andra sökparametrarna. Varje objekt i matrisen packageTypes är ett JSON-objekt med följande egenskaper:
| Name | Typ | Obligatoriskt | Notes |
|---|---|---|---|
| Namn | snöre | yes | Namnet på pakettypen. |
Exempelbegäran
GET https://search-sample.nuget.org/query?q=NuGet.Versioning&prerelease=false&semVerLevel=2.0.0
Se till att hämta bas-URL:en (https://search-sample.nuget.org/query i det här exemplet) från tjänstindexet enligt beskrivningen i avsnittet grundläggande URL .
Exempelsvar
{
"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"
}
]
}
]
}