Udostępnij za pośrednictwem


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