다음을 통해 공유


인덱스 제공

서비스 인덱스는 NuGet 패키지 소스에 대 한 진입점인 JSON 문서이며, 클라이언트 구현이 패키지 소스의 기능을 검색할 수 있도록 합니다. 서비스 인덱스는 두 개의 필수 속성: version(서비스 인덱스의 스키마 버전) 및 resources(패키지 소스의 엔드포인트 또는 기능)을 포함하는 JSON 개체입니다.

nuget.org의 서비스 인덱스는 https://api.nuget.org/v3/index.json에 있습니다.

버전 관리

version 값은 서비스 인덱스의 스키마 버전을 나타내는 SemVer 2.0.0 구문 분석 가능 버전 문자열입니다. API는 버전 문자열에 3의 주 버전 번호를 요구합니다. 서비스 인덱스 스키마에 대해 작업을 중단하지 않는 변경이 적용됨에 따라 버전 문자열의 부 버전이 증가합니다.

서비스 인덱스 내 각 리소스는 서비스 인덱스 스키마 버전에서 독립적으로 버전이 지정됩니다.

현재 스키마 버전은 3.0.0입니다. 3.0.0 버전은 이전 3.0.0-beta.1 버전과 기능적으로 동일하지만, 안정적이고 정의된 스키마를 보다 명확하게 전달하므로 선호되어야 합니다.

HTTP 메서드

서비스 인덱스는 HTTP 메서드 GETHEAD를 사용하여 액세스할 수 있습니다.

리소스

resources 속성에는 이 패키지 소스에서 지원하는 리소스 배열이 포함되어 있습니다.

리소스

리소스는 resources 배열 내 개체입니다. 패키지 소스의 버전 지정된 기능을 나타냅니다. 리소스에는 다음과 같은 속성이 있습니다.

속성 Type Required 주의
@id string 리소스에 대한 URL입니다.
@type string 리소스 유형을 나타내는 문자열 상수
comment string 아니요 사람이 읽을 수 있는 리소스 설명

@id는 완전한 URL이어야 하며 HTTP 또는 HTTPS 스키마가 있어야 합니다.

@type는 리소스와 상호 작용할 때 사용할 특정 프로토콜을 식별하는 데 사용됩니다. 리소스 형식은 해석하기 힘든 문자열이지만 일반적으로 형식은 다음과 같습니다.

{RESOURCE_NAME}/{RESOURCE_VERSION}

클라이언트는 해석한 @type 값을 하드 코딩하고 패키지 소스의 서비스 인덱스에서 조회합니다. 현재 사용 중인 정확한 @type 값은 API 개요 내 목록화된 개별 리소스 참조 문서에 나열됩니다.

이 설명서를 위해 다른 리소스에 대한 설명서는 기본적으로 서비스 인덱스서 확인할 수 있는 {RESOURCE_NAME}로 그룹화되며, 이는 시나리오 별로 그룹화하는 것과 유사합니다.

각 리소스에는 고유한 @id 또는 @type가 있어야 합니다. 다른 것을 선호하는 리소스를 결정하는 것은 클라이언트 구현에 따라 결정됩니다. 한 가지 가능한 구현은 연결 실패나 서버 오류 발생 시 라운드 로빈 방식으로 같거나 호환되는 @type의 리소스를 사용할 수 있다는 것입니다.

샘플 요청

GET https://api.nuget.org/v3/index.json

샘플 응답

{
  "version": "3.0.0",
  "resources": [
    {
      "@id": "https://api.nuget.org/v3-flatcontainer/",
      "@type": "PackageBaseAddress/3.0.0",
      "comment": "Base URL of Azure storage where NuGet package registration info for NET Core is stored, in the format https://api.nuget.org/v3-flatcontainer/{id-lower}/{id-lower}.{version-lower}.nupkg"
    },
    {
      "@id": "https://www.nuget.org/api/v2/package",
      "@type": "PackagePublish/2.0.0"
    },
    {
      "@id": "https://api-v2v3search-0.nuget.org/query",
      "@type": "SearchQueryService/3.0.0-rc",
      "comment": "Query endpoint of NuGet Search service (primary) used by RC clients"
    },
    {
      "@id": "https://api-v2v3search-0.nuget.org/autocomplete",
      "@type": "SearchAutocompleteService/3.0.0-rc",
      "comment": "Autocomplete endpoint of NuGet Search service (primary) used by RC clients"
    },
    {
      "@id": "https://api.nuget.org/v3/registration2/",
      "@type": "RegistrationsBaseUrl/3.0.0-rc",
      "comment": "Base URL of Azure storage where NuGet package registration info is stored used by RC clients. This base URL does not include SemVer 2.0.0 packages."
    }
  ]
}