共用方式為


推送與刪除

視伺服器實作而定,可以推送、刪除或取消清單,並使用 NuGet V3 API 重新列出套件。 這些作業是以PackagePublish服務索引中找到的資源為基礎。

版本控制

使用下列 @type 值:

@type 值 備註
PackagePublish/2.0.0 初始版本

基礎 URL

下列 API 的基底 URL 是@id套件來源服務索引中資源的 屬性值PackagePublish/2.0.0。 針對下列檔,會使用 nuget.org 的URL。 請考慮 https://www.nuget.org/api/v2/package 作為服務索引中找到值的佔位元 @id

請注意,此 URL 指向與舊版 V2 推送端點相同的位置,因為通訊協定相同。

HTTP 方法

PUT資源支援、 POSTDELETE HTTP 方法。 如需每個端點支援的方法,請參閱下方。

推送套件

注意

nuget.org 有 與推送端點互動的其他需求

nuget.org 支援使用下列 API 推送新的套件。 如果已存在具有所提供標識碼和版本的套件,nuget.org 將會拒絕推送。 其他套件來源可能支援取代現有的套件。

PUT https://www.nuget.org/api/v2/package

要求參數

名稱 位於 類型 必要 備註
X-NuGet-ApiKey 標頭 string 例如,X-NuGet-ApiKey: {USER_API_KEY}

API 金鑰是使用者從套件來源取得的不透明字串,並設定至用戶端。 未強制使用特定的字串格式,但 API 金鑰的長度不應超過 HTTP 標頭值的合理大小。

要求本文

要求本文必須採用下列形式:

多部分表單數據

要求標頭 Content-Typemultipart/form-data ,而且要求本文中的第一個專案是正在推送之 .nupkg 的原始位元組。 會忽略多部分主體中的後續專案。 會忽略檔名或任何其他多部分項目的標頭。

回應

狀態碼 意義
201, 202 已成功推送套件
400 提供的套件無效
409 已存在具有所提供標識碼和版本的套件

成功推送封裝時,伺服器實作會因成功傳回的成功狀態代碼而有所不同。

刪除套件

nuget.org 會將套件刪除要求解譯為「取消清單」。 這表示套件仍可供套件的現有取用者使用,但套件不再出現在搜尋結果或 Web 介面中。 如需此做法的詳細資訊,請參閱 已刪除的套件 原則。 其他伺服器實作可以自由地將此訊號解譯為硬式刪除、虛刪除或取消清單。 例如, NuGet.Server (僅支援舊版 V2 API 的伺服器實作)支援根據組態選項將這項要求當作取消清單或硬式刪除來處理。

DELETE https://www.nuget.org/api/v2/package/{ID}/{VERSION}

要求參數

名稱 位於 類型 必要 備註
識別碼 URL string 要刪除之封裝的標識碼
VERSION URL string 要刪除的套件版本
X-NuGet-ApiKey 標頭 string 例如,X-NuGet-ApiKey: {USER_API_KEY}

回應

狀態碼 意義
204 套件已刪除
404 未提供 IDVERSION 不存在的套件

重新列出套件

如果封裝未列出,可以使用「重新列出」端點,讓該套件在搜尋結果中再次顯示。 此端點與刪除 (unlist) 端點具有相同的形狀,但會使用 POST HTTP 方法,而不是 DELETE 方法。

如果已列出套件,要求仍會成功。

POST https://www.nuget.org/api/v2/package/{ID}/{VERSION}

要求參數

名稱 位於 類型 必要 備註
識別碼 URL string 要重新列出的套件識別碼
VERSION URL string 要重新列出的套件版本
X-NuGet-ApiKey 標頭 string 例如,X-NuGet-ApiKey: {USER_API_KEY}

回應

狀態碼 意義
200 套件現已列出
404 未提供 IDVERSION 不存在的套件