다음을 통해 공유


패키지 콘텐츠

V3 API를 사용하여 임의의 패키지의 콘텐츠(.nupkg 파일)를 가져오는 URL을 생성할 수 있습니다. 패키지 콘텐츠를 가져오는 데 사용되는 리소스는 서비스 인덱스에서 찾은 리소스입니다PackageBaseAddress. 또한 이 리소스를 사용하면 나열되거나 목록에 없는 패키지의 모든 버전을 검색할 수 있습니다.

이 리소스는 일반적으로 "패키지 기본 주소" 또는 "플랫 컨테이너"라고 합니다.

버전 관리

다음 @type 값이 사용됩니다.

@type 값 주의
PackageBaseAddress/3.0.0 초기 릴리스

기준 URL

다음 API의 기본 URL은 afore멘션ed 리소스 @type 값과 연결된 속성의 값입니다@id. 다음 문서에서 자리 표시자 기준 URL {@id}이 사용됩니다. 기본 URL은 패키지 원본 내의 구현 또는 인프라 변경에 따라 변경될 수 있으므로 클라이언트 소프트웨어에서 서비스 인덱스에서 동적으로 가져와야 합니다.

HTTP 메서드

패키지 콘텐츠 리소스에 있는 모든 URL은 HTTP 메서드 GETHEAD.

패키지 버전 열거

클라이언트가 패키지 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_IDLOWER_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_IDLOWER_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>