2. GET /repos/{owner}/{repo}/contents/{path} — получить содержимое файла или папки

2. GET /repos/{owner}/{repo}/contents/{path} — получить содержимое файла или папки

Описание

Позволяет получить содержимое файла (в Base64) или список файлов внутри папки.

🔍 Если запрашивается папка → возвращается дерево файлов.
Если запрашивается файл → возвращается его содержимое в кодировке Base64.

Параметры запроса

ПараметрОбязательныйОписание
ownerДаЛогин владельца репозитория
repoДаНазвание репозитория
pathДаПуть к файлу или папке

Пример запроса:

curl -X GET "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/contents/src/main.go" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse+json;version=1"

Ответ для файла (200 OK):

{
  "name": "main.go",
  "path": "src/main.go",
  "sha": "79ccf51f7e94082b3effee096084f284aed61954",
  "size": 676,
  "type": "file",
  "encoding": "base64",
  "content": "Ly9nbzpidWlsZCBpZ25vcmUKCnBhY2thZGUgbWFpbgoKaW1wb3J0IChmbmtuIHN0YWxsZWQgdGhhdCB3aWxsIG5vdCBiZSByZXR1cm5lZCBpbiBicm93c2VyLiBBdHRhY2hlZCBmaWxlcyBjYW4gaGF2ZSBkaWZmZXJlbnQgc3RydWN0dXJlcyBiYXNlZCBvbiBwcm9wZXJ0aWVzLgo="
}

Ответ для папки (200 OK):

[
  {
    "name": ".gitignore",
    "path": ".gitignore",
    "sha": "8e70c8b4ff45b7104f6f3576b9ba6936032cc74d",
    "type": "file"
  },
  {
    "name": "src",
    "path": "src",
    "sha": "d0244a1fafb32d8917d7c77d8c23ee2e8b58cc3c",
    "type": "dir"
  }
]
ПолеОписание
nameИмя файла или папки
pathПуть относительно корня
shaSHA хэш объекта
typeТип: file или dir
encodingКодировка содержимого (например, base64)
contentСодержимое файла в кодировке Base64