CodeBlanks Logo Icon CodeBlanks

REST API

GitHub REST API ile programatik erişim öğrenirsin.

GitHub REST API nedir?

GitHub REST API, GitHub üzerindeki depo, kullanıcı, issue ve diğer kaynaklarla HTTP istekleri üzerinden etkileşim kurmanı sağlar. Böylece işlemleri tarayıcıdan manuel yapmak yerine programatik olarak gerçekleştirebilirsin.

GET https://api.github.com/repos/octocat/Hello-World

API yanıtları genellikle JSON biçimindedir. Her kaynak için belirli bir endpoint bulunur.

Endpoint ve HTTP yanıtları

Endpoint, API üzerinde belirli bir kaynağa erişmek için kullanılan URL yoludur. Örneğin depo bilgileri için /repos/{owner}/{repo} yolu kullanılır.

GET /repos/octocat/Hello-World

200 OK
{
  "name": "Hello-World",
  "private": false
}

HTTP durum kodları isteğin sonucunu belirtir. 200 başarılı yanıtı, 404 bulunamayan kaynağı, 401 ise kimlik doğrulama sorununu ifade edebilir.

Uygulama GitHub API isteğini oluştur

octocat/Hello-World deposunun bilgilerini almak için bir GET isteği oluştur. URL'yi api_url değişkenine ata ve isteği curl ile gönder. Yanıtın HTTP durum kodunu da göster.

Başlangıç kodu

terminal
# API adresini değişkene ata
# GET isteğini ve HTTP durum kodunu göster

Örnek çözüm

terminal
api_url="https://api.github.com/repos/octocat/Hello-World"
curl -sS -o /dev/null -w "%{http_code}\n" -X GET "$api_url"

Beklenen çıktı

200

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir deponun bilgilerini HTTP isteğiyle almak istiyorsun. Hangi HTTP yöntemi bu işlem için uygundur?

  • DELETE
  • GET Doğru cevap
  • PATCH
  • POST

Açıklama: GET yöntemi, API üzerinden bir kaynağın bilgilerini okumak için kullanılır.

2 Depo endpoint'ini tamamla

Soru
GET https://api.github.com/repos/____
Cevap
GET https://api.github.com/repos/octocat/Hello-World

Açıklama: Depo endpoint'i, sahibin kullanıcı adını ve depo adını içerir.

3 REST API bileşenleri

Kavram Anlamı
Endpoint Bir kaynağa erişim adresi
GET Kaynak verisini okur
JSON Yaygın yanıt veri biçimi
HTTP status İsteğin sonucunu belirtir

Uzman bölümündeki tüm dersler