패키지 콘텐츠
V3 API를 사용하여 임의의 패키지의 콘텐츠(.nupkg 파일)를 가져오는 URL을 생성할 수 있습니다. 패키지 콘텐츠를 가져오는 데 사용되는 리소스는 서비스 인덱스에서 찾은 리소스입니다PackageBaseAddress
. 또한 이 리소스를 사용하면 나열되거나 목록에 없는 패키지의 모든 버전을 검색할 수 있습니다.
이 리소스는 일반적으로 "패키지 기본 주소" 또는 "플랫 컨테이너"라고 합니다.
버전 관리
다음 @type
값이 사용됩니다.
@type 값 | 주의 |
---|---|
PackageBaseAddress/3.0.0 | 초기 릴리스 |
기준 URL
다음 API의 기본 URL은 afore멘션ed 리소스 @type
값과 연결된 속성의 값입니다@id
. 다음 문서에서 자리 표시자 기준 URL {@id}
이 사용됩니다. 기본 URL은 패키지 원본 내의 구현 또는 인프라 변경에 따라 변경될 수 있으므로 클라이언트 소프트웨어에서 서비스 인덱스에서 동적으로 가져와야 합니다.
HTTP 메서드
패키지 콘텐츠 리소스에 있는 모든 URL은 HTTP 메서드 GET
및 HEAD
.
패키지 버전 열거
클라이언트가 패키지 ID를 알고 있고 패키지 원본에서 사용할 수 있는 패키지 버전을 검색하려는 경우 클라이언트는 예측 가능한 URL을 생성하여 모든 패키지 버전을 열거할 수 있습니다. 이 목록은 아래에 멘션 패키지 콘텐츠 API에 대한 "디렉터리 목록"입니다.
참고 항목
이 목록에는 나열된 패키지 버전과 목록에 없는 패키지 버전이 모두 포함되어 있습니다.
GET {@id}/{LOWER_ID}/index.json
요청 매개 변수
속성 | In | Type | Required | 주의 |
---|---|---|---|---|
LOWER_ID | URL | string | 예 | 패키지 ID(소문자) |
값은 LOWER_ID
에 의해 구현된 규칙을 사용하여 소문자를 지정하는 원하는 패키지 ID입니다. NET의 메서드입니다 System.String.ToLowerInvariant()
.
응답
패키지 원본에 제공된 패키지 ID의 버전이 없는 경우 404 상태 코드가 반환됩니다.
패키지 원본에 하나 이상의 버전이 있는 경우 200개의 상태 코드가 반환됩니다. 응답 본문은 다음 속성을 가진 JSON 개체입니다.
속성 | Type | Required | 주의 |
---|---|---|---|
버전 | 문자열 배열 | 예 | 사용 가능한 버전 |
배열의 versions
문자열은 모두 소문자이며 정규화된 NuGet 버전 문자열입니다. 버전 문자열에는 SemVer 2.0.0 빌드 메타데이터가 포함되어 있지 않습니다.
의도는 이 배열에 있는 버전 문자열을 다음 엔드포인트에 있는 토큰에 LOWER_VERSION
대해 축자로 사용할 수 있다는 것입니다.
샘플 요청
GET https://api.nuget.org/v3-flatcontainer/owin/index.json
기본 URL 섹션에 멘션 대로 서비스 인덱스에서 기본 URL(https://api.nuget.org/v3-flatcontainer/
이 샘플)을 가져와야 합니다.
샘플 응답
{
"versions": [
"0.5.0",
"0.7.0",
"0.11.0",
"0.12.0",
"0.14.0",
"1.0.0"
]
}
패키지 콘텐츠 다운로드(.nupkg)
클라이언트가 패키지 ID 및 버전을 알고 패키지 콘텐츠를 다운로드하려는 경우 다음 URL만 생성하면 됩니다.
GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.{LOWER_VERSION}.nupkg
요청 매개 변수
속성 | In | Type | Required | 주의 |
---|---|---|---|---|
LOWER_ID | URL | string | 예 | 패키지 ID, 소문자 |
LOWER_VERSION | URL | string | 예 | 정규화되고 소문자인 패키지 버전 |
둘 다 LOWER_ID
에 LOWER_VERSION
의해 구현된 규칙을 사용하여 소문자입니다. NET's System.String.ToLowerInvariant()
메서드를 호출하여 생성됩니다.
NuGet LOWER_VERSION
의 버전 정규화 규칙을 사용하여 정규화된 원하는 패키지 버전입니다. 즉, 이 경우 SemVer 2.0.0 사양에서 허용하는 빌드 메타데이터를 제외해야 합니다.
응답 본문
패키지 원본에 패키지가 있는 경우 200개의 상태 코드가 반환됩니다. 응답 본문은 패키지 콘텐츠 자체가 됩니다.
패키지 원본에 패키지가 없으면 404 상태 코드가 반환됩니다.
샘플 요청
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg
기본 URL 섹션에 멘션 대로 서비스 인덱스에서 기본 URL(https://api.nuget.org/v3-flatcontainer/
이 샘플)을 가져와야 합니다.
샘플 응답
Newtonsoft.Json 9.0.1의 .nupkg인 이진 스트림입니다.
패키지 매니페스트 다운로드(.nuspec)
클라이언트가 패키지 ID 및 버전을 알고 패키지 매니페스트를 다운로드하려는 경우 다음 URL만 생성하면 됩니다.
GET {@id}/{LOWER_ID}/{LOWER_VERSION}/{LOWER_ID}.nuspec
요청 매개 변수
속성 | In | Type | Required | 주의 |
---|---|---|---|---|
LOWER_ID | URL | string | 예 | 패키지 ID, 소문자 |
LOWER_VERSION | URL | string | 예 | 정규화되고 소문자인 패키지 버전 |
둘 다 LOWER_ID
에 LOWER_VERSION
의해 구현된 규칙을 사용하여 소문자입니다. NET의 메서드입니다 System.String.ToLowerInvariant()
.
NuGet LOWER_VERSION
의 버전 정규화 규칙을 사용하여 정규화된 원하는 패키지 버전입니다. 즉, 이 경우 SemVer 2.0.0 사양에서 허용하는 빌드 메타데이터를 제외해야 합니다.
응답 본문
패키지 원본에 패키지가 있는 경우 200개의 상태 코드가 반환됩니다. 응답 본문은 해당 .nupkg에 포함된 .nuspec인 패키지 매니페스트입니다. .nuspec은 XML 문서입니다.
패키지 원본에 패키지가 없으면 404 상태 코드가 반환됩니다.
샘플 요청
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.nuspec
기본 URL 섹션에 멘션 대로 서비스 인덱스에서 기본 URL(https://api.nuget.org/v3-flatcontainer/
이 샘플)을 가져와야 합니다.
샘플 응답
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Newtonsoft.Json</id>
<version>6.0.4</version>
<title>Json.NET</title>
<authors>James Newton-King</authors>
<owners>James Newton-King</owners>
<licenseUrl>https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md</licenseUrl>
<projectUrl>http://james.newtonking.com/json</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Json.NET is a popular high-performance JSON framework for .NET</description>
<language>en-US</language>
<tags>json</tags>
</metadata>
</package>