REST API
- Git kursu
- Uzman
- Ders 21/32
- 4 dk
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-WorldAPI 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
# API adresini değişkene ata
# GET isteğini ve HTTP durum kodunu gösterÖrnek çözüm
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
GET https://api.github.com/repos/____
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 |