Wypychanie i usuwanie
Istnieje możliwość wypychania, usuwania (lub usuwania listy w zależności od implementacji serwera) i ponownej listy pakietów przy użyciu interfejsu API NuGet w wersji 3. Te operacje są oparte na zasobie PackagePublish
znajdującym się w indeksie usługi.
Wersje
Używana jest następująca @type
wartość:
@type Wartość | Uwagi |
---|---|
PackagePublish/2.0.0 | Wersja początkowa |
Podstawowy adres URL
Podstawowym adresem URL dla następujących interfejsów API jest wartość @id
właściwości PackagePublish/2.0.0
zasobu w indeksie usługi źródła pakietu. W poniższej dokumentacji jest używany adres URL witryny nuget.org. Rozważmy https://www.nuget.org/api/v2/package
jako symbol zastępczy @id
wartości znalezionej w indeksie usługi.
Należy pamiętać, że ten adres URL wskazuje tę samą lokalizację co starszy punkt końcowy wypychania w wersji 2, ponieważ protokół jest taki sam.
Metody HTTP
Metody PUT
, POST
i DELETE
HTTP są obsługiwane przez ten zasób. Aby uzyskać informacje o metodach obsługiwanych w poszczególnych punktach końcowych, zobacz poniżej.
Wypychanie pakietu
Uwaga
nuget.org ma dodatkowe wymagania dotyczące interakcji z punktem końcowym wypychania.
nuget.org obsługuje wypychanie nowych pakietów przy użyciu następującego interfejsu API. Jeśli pakiet o podanym identyfikatorze i wersji już istnieje, nuget.org odrzuci wypychanie. Inne źródła pakietów mogą obsługiwać zastępowanie istniejącego pakietu.
PUT https://www.nuget.org/api/v2/package
Parametry żądania
Nazwisko | W | Typ | Wymagania | Uwagi |
---|---|---|---|---|
X-NuGet-ApiKey | Nagłówek | string | tak | Na przykład X-NuGet-ApiKey: {USER_API_KEY} |
Klucz interfejsu API jest nieprzezroczystym ciągiem uzyskanym ze źródła pakietu przez użytkownika i skonfigurowanym do klienta. Nie jest wymagany żaden określony format ciągu, ale długość klucza interfejsu API nie powinna przekraczać rozsądnego rozmiaru wartości nagłówka HTTP.
Treść żądania
Treść żądania musi mieć następującą postać:
Dane formularza wieloczęściowego
Nagłówek Content-Type
żądania to multipart/form-data
i pierwszy element w treści żądania to nieprzetworzone bajty wypchniętego pliku nupkg. Kolejne elementy w treści wieloczęściowej są ignorowane. Nazwa pliku lub inne nagłówki elementów wieloczęściowych są ignorowane.
Response
Kod stanu | Znaczenie |
---|---|
201, 202 | Pakiet został pomyślnie wypchnięty |
400 | Podany pakiet jest nieprawidłowy |
409 | Pakiet z podanym identyfikatorem i wersją już istnieje |
Implementacje serwera różnią się w zależności od kodu stanu powodzenia zwróconego po pomyślnym wypchnięciu pakietu.
Usuwanie pakietu
nuget.org interpretuje żądanie usuwania pakietu jako "unlist". Oznacza to, że pakiet jest nadal dostępny dla istniejących odbiorców pakietu, ale pakiet nie jest już wyświetlany w wynikach wyszukiwania ani w interfejsie internetowym. Aby uzyskać więcej informacji na temat tej praktyki, zobacz zasady Usunięte pakiety . Inne implementacje serwera mogą interpretować ten sygnał jako hard delete, soft delete lub unlist. Na przykład NuGet.Server (implementacja serwera obsługująca tylko starszy interfejs API w wersji 2) obsługuje obsługę tego żądania jako wyrejelisty lub twardego usunięcia na podstawie opcji konfiguracji.
DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}
Parametry żądania
Nazwisko | W | Typ | Wymagania | Uwagi |
---|---|---|---|---|
ID | URL | string | tak | Identyfikator pakietu do usunięcia |
WERSJA | URL | string | tak | Wersja pakietu do usunięcia |
X-NuGet-ApiKey | Nagłówek | string | tak | Na przykład X-NuGet-ApiKey: {USER_API_KEY} |
Response
Kod stanu | Znaczenie |
---|---|
204 | Pakiet został usunięty |
404 | Brak pakietu z podanym ID elementem i VERSION istnieje |
Ponowne tworzenie listy pakietów
Jeśli pakiet nie znajduje się na liście, można go ponownie uwidocznić w wynikach wyszukiwania przy użyciu punktu końcowego "ponownej listy". Ten punkt końcowy ma ten sam kształt co punkt końcowy usuwania (unlist), ale używa POST
metody HTTP zamiast DELETE
metody .
Jeśli pakiet jest już wymieniony, żądanie nadal kończy się powodzeniem.
POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}
Parametry żądania
Nazwisko | W | Typ | Wymagania | Uwagi |
---|---|---|---|---|
ID | URL | string | tak | Identyfikator pakietu do ponownej listy |
WERSJA | URL | string | tak | Wersja pakietu do ponownej listy |
X-NuGet-ApiKey | Nagłówek | string | tak | Na przykład X-NuGet-ApiKey: {USER_API_KEY} |
Response
Kod stanu | Znaczenie |
---|---|
200 | Pakiet znajduje się teraz na liście |
404 | Brak pakietu z podanym ID elementem i VERSION istnieje |