Bir API isteğinin temel yapısı

Python ile API'lere Giriş

Chris Ramakers

Engineering Manager

URL nedir?

  • URL = Uniform Resource Locator
  • Bir API kaynağının yapılandırılmış adresi
  • Belirli API kaynaklarıyla etkileşim için URL’yi özelleştirin
http://350.5th-ave.com/unit/243
Python ile API'lere Giriş

URL’yi parçalarına ayırma

Bir URL’nin bölümlerini gösteren diyagram: Protokol (http://), Alan adı (350.5th-ave.com), Port (:80), Yol (/unit/243) ve Sorgu (?floor=77).

  • Protokol = iletim yöntemi
  • Alan adı = bina adresi
  • Port = binaya giriş kapısı
  • Yol = binadaki belirli ofis
  • Sorgu = ek talimatlar
Python ile API'lere Giriş

requests ile sorgu parametreleri ekleme

# Sorgu parametresini URL dizgesine ekleyin
response = requests.get('http://350.5th-ave.com/unit/243?floor=77&elevator=True')
print(response.url)
http://350.5th-ave.com/unit/243?floor=77&elevator=True
  • Sorgu parametreleri eklemek için params argümanını kullanın
# Sözlük oluşturun
query_params = {'floor': 77, 'elevator': True}
# Sözlüğü `params` argümanı ile geçin
response = requests.get('http://350.5th-ave.com/unit/243', params=query_params)
print(response.url)
http://350.5th-ave.com/unit/243?floor=77&elevator=True
Python ile API'lere Giriş

HTTP fiilleri

  • Hedef: 350 5th Ave ofis binası, Ünite 243
  • URL: http://350.5th-ave.com/unit/243

İşlemler

Fiil Eylem Açıklama
GET Oku Posta kutusunun içeriğine bak
POST Oluştur Posta kutusuna yeni bir paket bırak
PUT Güncelle Tüm paketleri yenisiyle değiştir
DELETE Sil Posta kutusunu tamamen boşalt
1 Toplam 9 HTTP fiili vardır; basit REST API’lerde yalnızca bu 4’ü önemlidir
Python ile API'lere Giriş

POST ve PUT ile veri gönderme

# GET = Bir kaynağı getir
response = requests.get('http://350.5th-ave.com/unit/243')

# POST = Yeni bir kaynak oluştur response = requests.post('http://350.5th-ave.com/unit/243', data={"key": "value"}) # PUT = Var olan kaynağı güncelle response = requests.put('http://350.5th-ave.com/unit/243', data={"key": "value"})
# DELETE = Bir kaynağı sil response = requests.delete('http://350.5th-ave.com/unit/243')
  • Her fiilin requests paketinde kendi metodu vardır
  • POST veya PUT isteğine veri geçirmek için data argümanını kullanın.
Python ile API'lere Giriş

Hadi pratik yapalım!

Python ile API'lere Giriş

Preparing Video For Download...