인덱스 제공
서비스 인덱스는 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 메서드 GET
및 HEAD
를 사용하여 액세스할 수 있습니다.
리소스
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."
}
]
}