AI SaaS Builder · Ders

RESTful API'ler Tasarlama

Ön ve arka uç arasında kesintisiz iletişim sağlayacak, iyi yapılandırılmış ve verimli API'ler oluşturun.

1. ders / 412 adım

RESTful API'ler Tasarlama, CoddyKit'te ücretsiz bir AI SaaS Builder dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI SaaS Builder öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI SaaS Builder kursu toplamda 4 dersten oluşur.

API'ler: Uygulamanızın İletişim Bağlantısı

Modern yazılımlarda bir uygulamanın farklı bölümlerinin çoğu zaman birbiriyle iletişim kurması gerekir. Bu durum, kullanıcıların gördüğü ön yüzün güçlü yapay zekâ arka yüzünüzle etkileşim kurması gereken yapay zekâ SaaS uygulamalarında özellikle önemlidir.

Bir API (Uygulama Programlama Arayüzü), restoran menüsü gibidir. Sipariş edebileceğiniz yemekleri (işlevleri) listeler, sağlamanız gereken malzemeleri (parametreleri) ve karşılığında alacağınız sonuçları açıklar.

Web uygulamalarında RESTful API'ler, ön yüz ve arka uç sistemlerinin internet üzerinden iletişim kurmasının en yaygın yoludur.

REST Nedir?

REST, Temsili Durum Aktarımı anlamına gelir. REST bir protokol değil, web hizmetlerinin tasarlanması için bir dizi kısıtlama tanımlayan mimari bir biçimdir.

Bunu, arka ucunuzun hizmetlerini diğer uygulamalara nasıl sunması gerektiğini gösteren bir taslak olarak düşünebilirsiniz. REST ilkelerine uymak API'leri şu özelliklere kavuşturur:

  • Ölçeklenebilir: Daha fazla isteği işleyebilir.
  • Esnek: Geliştirilmesi ve uyarlanması kolaydır.
  • Bakımı kolay: Anlaşılması ve düzeltilmesi daha basittir.

Temel fikir, her şeyi bir 'kaynak' olarak ele almaktır.

REST'in Temel İlkeleri

REST, bu avantajları sağlamak için birkaç temel ilkeye dayanır:

  • İstemci-Sunucu: Sorumlulukların ayrılmasıdır. İstemci kullanıcı arayüzünü, sunucu ise veri depolama ve işlemeyi yönetir.
  • Durumsuz: İstemciden sunucuya gönderilen her istek, isteğin anlaşılması için gereken tüm bilgileri içermelidir. Sunucu, istekler arasında istemciye ait herhangi bir bağlamı saklamaz.
  • Önbelleğe alınabilir: Performansı artırmak için yanıtlar önbelleğe alınabilir olarak işaretlenebilir.
  • Birleşik Arayüz: Tasarım açısından en önemli ilkedir. Kaynaklarla etkileşim kurmak için tutarlı bir yöntem kullanarak sistemi basitleştirir.

Kaynaklar: API'nizin İsimleri

'Birleşik Arayüz' ilkesi, API'nizin kaynaklara odaklanması gerektiği anlamına gelir. Kaynak; kullanıcı, ürün veya sipariş gibi adlandırılabilen her türlü bilgidir.

Tasarım yaparken kaynakları fiil olarak değil, isim olarak düşünün. API uç noktalarınız (URL'ler) bu isimleri, genellikle çoğul biçimleriyle yansıtmalıdır.

  • /getUser yerine /users kullanın
  • /createProduct yerine /products kullanın
  • /deleteOrder/123 yerine /orders/123 kullanın

Bu, API'nizi anlaşılır ve tutarlı hâle getirir.

HTTP Yöntemleri: Eylemler

Kaynaklarınızı (örneğin /products) oluşturduktan sonra, bunlar üzerinde işlem gerçekleştirmek için standart HTTP yöntemlerini kullanırsınız. Bu yöntemler, isimleriniz için fiiller gibidir.

  • GET: Verileri getirir. (örneğin tüm ürünleri almak için GET /products)
  • POST: Yeni veri oluşturur. (örneğin yeni bir ürün eklemek için POST /products)
  • PUT: Mevcut verileri günceller veya değiştirir. (örneğin 123 numaralı ürünü güncellemek için PUT /products/123)
  • DELETE: Verileri kaldırır. (örneğin 123 numaralı ürünü kaldırmak için DELETE /products/123)

Kısmi güncellemeler için PATCH de vardır; ancak bu dört yöntem en temel olanlardır.

Örnek: Veri Getirme (GET)

Bir istemcinin GET yöntemini kullanarak veri almak için RESTful API ile nasıl etkileşim kurduğuna bakalım.

Burada, herkese açık bir test API'sinden belirli bir gönderiyi getiriyoruz. /posts/1 URL'si kaynağı açıkça tanımlar.

import requests

# Define the API endpoint for a specific post
url = "https://jsonplaceholder.typicode.com/posts/1"

# Send a GET request
response = requests.get(url)

# Check if the request was successful (status code 200)
if response.status_code == 200:
  print("Successfully retrieved data:")
  print(response.json())
else:
  print(f"Error: {response.status_code} - {response.text}")

Örnek: Veri Oluşturma (POST)

Yeni bir kaynak oluşturmak için POST yöntemini kullanırız. Yeni veriler, genellikle JSON biçiminde istek gövdesi içinde gönderilir.

Çoğul kaynak uç noktasına (/posts) bir ID belirtmeden POST gönderdiğimize dikkat edin; çünkü ID'yi sunucu atayacaktır.

import requests
import json

# Define the API endpoint for creating posts
url = "https://jsonplaceholder.typicode.com/posts"

# Define the data for the new post
new_post_data = {
  "title": "CoddyKit Lesson",
  "body": "This is a new post from CoddyKit!",
  "userId": 1
}

# Send a POST request with the JSON data
response = requests.post(url, json=new_post_data)

# Check if the request was successful (status code 201 Created)
if response.status_code == 201:
  print("Successfully created post:")
  print(response.json())
else:
  print(f"Error: {response.status_code} - {response.text}")

HTTP Durum Kodları: API'nin Geri Bildirimi

Bir isteğin ardından API, bir HTTP durum kodu gönderir. Bu üç basamaklı sayı, istemciye isteğin başarılı olup olmadığını, bir hata oluşup oluşmadığını ve hatanın türünü bildirir.

  • 2xx Başarılı: 200 OK (genel başarı), 201 Created (kaynak oluşturuldu), 204 No Content (başarılı, ancak döndürülecek veri yok).
  • 4xx İstemci Hatası: 400 Bad Request (biçimi hatalı istek), 401 Unauthorized (kimlik doğrulama eksik), 403 Forbidden (kimlik doğrulaması yapılmış ancak erişim yok), 404 Not Found (kaynak mevcut değil).
  • 5xx Sunucu Hatası: 500 Internal Server Error (sunucuda bir sorun oluştu).

İyi tasarlanmış bir API için uygun durum kodlarını kullanmak kritik öneme sahiptir.

Veri Biçimi: Basitlik İçin JSON

RESTful API'ye veri gönderirken ve API'den veri alırken yaygın olarak kullanılan biçimlerden biri JSON'dur (JavaScript Nesne Gösterimi).

JSON hafiftir, insanlar tarafından okunabilir ve çoğu programlama dili tarafından kolayca ayrıştırılabilir. Verileri anahtar-değer çiftleri ve diziler olarak temsil eder; bu da onu yapılandırılmış bilgiler için ideal kılar.

XML bir zamanlar yaygın olsa da JSON, basitliği ve verimliliği sayesinde web API'leri için fiilî standart hâline gelmiştir.

API'nizi Sürümleme

Yapay zekâ SaaS uygulamanız geliştikçe API'niz de gelişecektir. Yeni özellikler ekleyebilir, veri yapılarını değiştirebilir veya eski uç noktaları kaldırabilirsiniz. İşte bu noktada API sürümleme devreye girer.

Sürümleme, API'nize bağlı mevcut uygulamaları bozmadan değişiklik yapmanızı sağlar. Yaygın bir yaklaşım, sürüm numarasını URL'ye eklemektir:

  • /v1/users (1. sürüm için)
  • /v2/users (2. sürüm için)

Bu, geriye dönük uyumluluğu ve kullanıcılarınız için daha sorunsuz bir geçişi sağlar.

API Tasarımı Becerilerinizi Sınayın

Aşağıdakilerden hangileri RESTful API tasarımının temel ilkeleridir?

Özet: Sağlam API'ler Tasarlama

Tebrikler! RESTful API'ler tasarlamanın temellerini öğrendiniz.

  • API'ler, ön yüzünüz ile arka ucunuz arasındaki iletişimi sağlar.
  • REST, kaynakları ve standart HTTP yöntemlerini vurgulayan bir mimari biçimdir.
  • Kaynaklar, URL'lerinizde çoğul isimlerle tanımlanmalıdır.
  • HTTP yöntemleri (GET, POST, PUT, DELETE), bu kaynaklar üzerindeki eylemleri tanımlar.
  • HTTP durum kodları, isteklerin sonuçları hakkında önemli geri bildirim sağlar.
  • JSON, API iletişimi için tercih edilen veri biçimidir.
  • API'nizi sürümlemek, sorunsuz gelişim ve geriye dönük uyumluluk sağlar.

Bu kavramlara hâkim olmak, ölçeklenebilir ve bakımı kolay yapay zekâ SaaS arka uçları oluşturmanın anahtarıdır.

Başlamak ücretsiz

Yapay zeka eğitmeniyle AI SaaS Builder öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
12
Dersler
47

Sıkça Sorulan Sorular

“RESTful API'ler Tasarlama” dersi ücretsiz mi?

Evet — “RESTful API'ler Tasarlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI SaaS Builder kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI SaaS Builder kursu toplamda 4 dersten oluşur.

“RESTful API'ler Tasarlama” dersinde ne öğreneceğim?

Ön ve arka uç arasında kesintisiz iletişim sağlayacak, iyi yapılandırılmış ve verimli API'ler oluşturun. AI SaaS Builder ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI SaaS Builder öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI SaaS Builder, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“RESTful API'ler Tasarlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI SaaS Builder dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI SaaS Builder dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. RESTful API'ler Tasarlama
  2. SaaS için Veritabanı Yönetimi
  3. Kullanıcı Kimlik Doğrulama ve Yetkilendirme
  4. Yapay Zeka İsteklerinde Hız Sınırlama ve Kuyruklama
← AI SaaS Builder Sayfasına Dön