React'te API Nasıl Kullanılır: Yeni Başlayanlar İçin Bir Rehber

Yeni başlayanlar için API entegrasyon rehberimizle React uygulamalarınızda API'ları sorunsuz kullanmayı öğrenin. Veri çekme, görüntüleme ve hata yönetimi tekniklerini keşfedin.

Efe Demir

Efe Demir

5 June 2025

React'te API Nasıl Kullanılır: Yeni Başlayanlar İçin Bir Rehber

Eğer bir React geliştiricisiyseniz, muhtemelen uygulamalarınıza API'leri entegre etme ihtiyacıyla karşılaşmışsınızdır. API'ler, farklı yazılım sistemlerinin iletişim kurması ve veri paylaşması için bir yol sağlayan modern web geliştirmenin can damarıdır. Ancak, kullandığınız API'nin beklendiği gibi çalıştığından nasıl emin olursunuz? İşte APIdog devreye giriyor.

Bu yazıda, bir React uygulamasında bir API'yi kullanma sürecinde size rehberlik edeceğiz. API'lerin ne olduğunu ve neden önemli olduklarını açıklayarak başlayacağız. Ardından, bir API'yi React uygulamanıza nasıl entegre edeceğinizi göstereceğiz. Ancak bununla yetinmeyeceğiz. Ayrıca, API'leri test etmek için güçlü bir araç olan APIdog'u tanıtacak ve API'nizin beklendiği gibi performans gösterdiğinden emin olmak için onu nasıl kullanacağınızı göstereceğiz.

💡
Güçlü ve ücretsiz bir araç olan Apidog ile API testinizi yükseltin. Beklemeyin, şimdi Apidog'u indirin ve geliştirme iş akışınızı geliştirin!
button

API nedir ve neden ihtiyacımız var?

Ellerimizi kirletmeden önce, temellerle başlayalım. API, Application Programming Interface (Uygulama Programlama Arayüzü) anlamına gelir ve temelde farklı yazılım bileşenlerinin birbiriyle nasıl etkileşim kurması gerektiğini tanımlayan bir dizi kuraldır. Başka bir deyişle, bir API, React uygulamanızın harici veri kaynakları veya hizmetlerle iletişim kurmasını sağlayan bir aracı görevi görür.

Şimdi, "React uygulamamda neden bir API'ye ihtiyacım var?" diye merak ediyor olabilirsiniz. Hava durumu uygulaması oluşturduğunuzu hayal edin. Bir API olmadan, gezegendeki her konum için hava durumu verilerini manuel olarak toplamanız ve güncellemeniz gerekir - bu sadece sıkıcı değil, aynı zamanda neredeyse imkansız bir görev! Ancak bir API ile, güvenilir kaynaklardan gerçek zamanlı hava durumu verilerini alabilir, uygulamanızı kullanıcılarınız için sonsuza dek daha kullanışlı ve ilgi çekici hale getirebilirsiniz.

Sahneyi Hazırlama: Bağımlılıkları Yükleme

Pekala, kollarımızı sıvayalım ve eğlenceli kısma dalalım! İlk olarak, React uygulamamızda API isteklerini yönetmemize yardımcı olacak birkaç bağımlılık yüklememiz gerekecek. Endişelenmeyin; çok kolay!

Terminalinizi açın ve projenizin dizinine gidin. Ardından, her zaman popüler olan axios kütüphanesini yüklemek için aşağıdaki komutu çalıştırın:

npm install axios

Axios, React uygulamanızdan API'lere eşzamansız HTTP istekleri göndermeyi kolaylaştıran, vaade dayalı bir HTTP istemcisidir. İstek gönderme ve yanıtları işleme sürecini basitleştirir, sizi yerleşik fetch API'sinin karmaşıklıklarıyla uğraşmaktan kurtarır.

Alternatif olarak, fetch API'sini doğrudan kullanmayı tercih ederseniz, ek bağımlılık yüklemenize gerek yoktur. React, kutudan çıktığı gibi fetch API'si ile birlikte gelir.

Axios ile API Çağrıları Yapma

Güvenilir axios kütüphanemizi yüklediğimize göre, ondan bir API'den veri almayı öğrenelim. Popüler filmler hakkında bilgi görüntüleyen bir film uygulaması oluşturduğumuzu hayal edin. Bu örnek için Open Movie Database API (OMDb API) kullanacağız.

İlk olarak, MovieAPI.js (veya tercih ettiğiniz herhangi bir ad) adında yeni bir dosya oluşturun ve axios kütüphanesini içe aktarın:

import axios from 'axios';

Ardından, OMDb API'sine bir GET isteği gönderen ve yanıt verilerini döndüren bir işlev tanımlayacağız:

export const fetchMovieData = async (movieTitle) => {
  try {
    const response = await axios.get(`http://www.omdbapi.com/?apikey=YOUR_API_KEY&t=${movieTitle}`);
    return response.data;
  } catch (error) {
    console.error('Error fetching movie data:', error);
    throw error;
  }
};

Bunu parçalayalım:

  1. movieTitle parametresini alan fetchMovieData adlı eşzamansız bir işlev oluşturuyoruz.
  2. try bloğunun içinde, OMDb API'sine bir GET isteği göndermek için axios.get yöntemini kullanıyoruz. URL, API anahtarımızı (YOUR_API_KEY'i gerçek API anahtarınızla değiştirin) ve movieTitle parametresini içerir.
  3. API'den gelen yanıtı await ediyoruz ve response değişkeninde saklıyoruz.
  4. Gerçek film verilerini içeren response.data'yı döndürüyoruz.
  5. API çağrısı sırasında herhangi bir hata oluşursa, bunları catch bloğunda yakalar, hatayı konsola kaydeder ve uygulamamızın başka bir yerinde işlenmek üzere hatayı fırlatırız.

Alınan Verileri Bir React Bileşeninde Kullanma

Harika iş! Axios kullanarak bir API'den başarıyla veri aldık. Ancak bu verileri React uygulamamızda nasıl kullanırız? MovieDetails adlı yeni bir bileşen oluşturalım ve yeni oluşturduğumuz fetchMovieData işlevinden nasıl yararlanabileceğimizi görelim.

import React, { useState, useEffect } from 'react';
import { fetchMovieData } from './MovieAPI';

const MovieDetails = () => {
  const [movieData, setMovieData] = useState(null);
  const [isLoading, setIsLoading] = useState(false);
  const [error, setError] = useState(null);

  useEffect(() => {
    const fetchData = async () => {
      setIsLoading(true);
      setError(null);

      try {
        const data = await fetchMovieData('The Matrix');
        setMovieData(data);
      } catch (error) {
        setError(error.message);
      } finally {
        setIsLoading(false);
      }
    };

    fetchData();
  }, []);

  if (isLoading) {
    return <div>Loading...</div>;
  }

  if (error) {
    return <div>Error: {error}</div>;
  }

  if (!movieData) {
    return null;
  }

  return (
    <div>
      <h2>{movieData.Title}</h2>
      <p>Year: {movieData.Year}</p>
      <p>Plot: {movieData.Plot}</p>
      {/* Add more movie details as needed */}
    </div>
  );
};

export default MovieDetails;

İşte olanlar:

  1. React'tan useState ve useEffect hook'larını ve ayrıca fetchMovieData işlevimizi içe aktarıyoruz.
  2. Alınan film verilerini depolamak için movieData, yükleme durumunu izlemek için isLoading ve API çağrısı sırasında oluşabilecek hataları işlemek için error olmak üzere üç durum değişkeni tanımlıyoruz.
  3. useEffect hook'unun içinde, isLoading'i true olarak ayarlayan, error durumunu sıfırlayan ve ardından fetchMovieData işlevini kullanarak film verilerini almaya çalışan fetchData adlı bir async işlevi tanımlıyoruz.
  4. API çağrısı başarılı olursa, movieData durumunu alınan verilerle güncelliyoruz. Bir hata oluşursa, error durumunu hata mesajıyla güncelliyoruz.
  5. Son olarak, API çağrısının başarılı olup olmamasına bakılmaksızın yükleme durumunun güncellenmesini sağlamak için finally bloğunda isLoading'i false olarak ayarlıyoruz.
  6. Bileşenin render işlevinde, isLoading, error ve movieData durumlarını kontrol eder ve değerlerine göre uygun içeriği oluştururuz.
  7. isLoading true ise, bir "Yükleniyor..." mesajı görüntüleriz.
  8. error null değilse, hata mesajını görüntüleriz.
  9. movieData null ise, hiçbir şey oluşturmayız.
  10. movieData veri içeriyorsa, alınan verileri kullanarak film ayrıntılarını oluştururuz.

Ve işte bu kadar! Bir API'den başarıyla veri aldınız ve React bileşeninizde görüntülediniz. Bu harika değil mi?

Özetleme: Bonus İpuçları ve Püf Noktaları
Tebrikler! API'leri React uygulamalarınıza entegre etmenin heyecan verici yolculuğunu tamamladınız. Ama durun, daha fazlası var! API oyununuzu bir sonraki seviyeye taşımanıza yardımcı olacak birkaç bonus ipucu ve püf noktası:

Hata İşleme: Örneğimizde temel hata işlemesini ele alırken, kullanıcı dostu hata mesajları görüntülemek veya başarısız API çağrıları için yeniden deneme mekanizmaları uygulamak gibi daha sağlam hata işleme mekanizmaları uygulamayı düşünebilirsiniz.

Önbellekleme: Uygulamanızın doğasına bağlı olarak, performansı artırmak ve gereksiz API çağrılarını azaltmak için önbellekleme stratejileri uygulamak isteyebilirsiniz. React'ın useMemo veya useCallback hook'ları bu amaç için faydalı olabilir.

Ortam Değişkenleri: Kodunuzda API anahtarlarını veya hassas bilgileri sabit kodlamak genellikle iyi bir uygulama değildir. Bunun yerine, bu değerleri güvenli bir şekilde depolamak ve yönetmek için ortam değişkenlerini kullanmayı düşünün.

Sayfalandırma ve Sonsuz Kaydırma: Büyük veri kümeleriyle çalışıyorsanız, kullanıcı deneyimini iyileştirmek ve uygulamanızın yavaşlamasını önlemek için sayfalandırma veya sonsuz kaydırma uygulamak isteyebilirsiniz.

Kısıtlama ve Geciktirme: Kullanıcı girdileri veya sık API çağrıları ile uğraşırken, performansı optimize etmek ve gereksiz API çağrılarını önlemek için kısıtlama veya geciktirme tekniklerini uygulamayı düşünün.

Test Etme: API entegrasyon kodunuz için testler yazmayı unutmayın! Bu, değişiklikler yaptığınızda ve yeni özellikler eklediğinizde uygulamanızın güvenilir ve bakımı yapılabilir kalmasına yardımcı olacaktır.

İyimser Güncellemeler: Daha sorunsuz bir kullanıcı deneyimi sağlamak için iyimser güncellemeler uygulamayı düşünün. İyimser güncellemelerle, API çağrısı yapıldıktan hemen sonra UI'yi beklenen sonuçla güncelleyebilir ve ardından API'den gelen gerçek yanıtla UI'yi tekrar güncelleyebilirsiniz.

API Sürümlendirme: API'ler zaman içinde geliştikçe, uygulamanızda API'nin farklı sürümlerini işlemeniz gerekebilir. Bu ihtimali planladığınızdan ve uygulamanızın gelecekteki API güncellemeleriyle uyumlu kalmasını sağlamak için sürüm yönetimi stratejileri uyguladığınızdan emin olun.

Kimlik Doğrulama ve Yetkilendirme: Çalıştığınız API'ler kimlik doğrulama veya yetkilendirme gerektiriyorsa, erişim belirteçlerini, yenileme belirteçlerini ve diğer güvenlik önlemlerini işlemek için mekanizmalar uygulamanız gerekir.

API İzleme ve Günlüğe Kaydetme: API kullanımını, performansını ve hatalarını izlemek için izleme ve günlüğe kaydetme mekanizmaları uygulamayı düşünün. Bu, sorunları ayıklarken veya uygulamanızın performansını optimize ederken özellikle faydalı olabilir.

Apidog: Axios kodunuzu oluşturmak için ücretsiz bir araç

Apidog, API'leri tasarlamak, hata ayıklamak, test etmek, yayınlamak ve taklit etmek için kapsamlı bir araç takımı sağlayan, hepsi bir arada işbirliğine dayalı bir API geliştirme platformudur. Apidog, HTTP istekleri yapmak için otomatik olarak Axios kodu oluşturmanızı sağlar.

button

Axios kodu oluşturmak için Apidog'u kullanma süreci şöyledir:

Adım 1: Apidog'u açın ve yeni istek seçin

Adım 2: Bir istek göndermek istediğiniz API uç noktasının URL'sini girin, isteğe dahil etmek istediğiniz başlıkları veya sorgu dizesi parametrelerini girin, ardından Apidog'un tasarım arayüzüne geçmek için "Tasarım"a tıklayın.

Adım 3: Kodunuzu oluşturmak için "İstemci kodu oluştur"u seçin.

Adım 4: Oluşturulan Axios kodunu kopyalayın ve projenize yapıştırın.

HTTP İstekleri Göndermek için Apidog'u Kullanma

Apidog, HTTP isteklerini test etme yeteneğini daha da geliştiren çeşitli gelişmiş özellikler sunar. Bu özellikler, isteklerinizi özelleştirmenize ve daha karmaşık senaryoları zahmetsizce işlemenize olanak tanır.

button

Adım 1: Apidog'u açın ve yeni bir istek oluşturun.

Apidog

Adım 2: Yapmak istediğiniz POST isteği için API ayrıntılarını bulun veya manuel olarak girin.

Apidog

Adım 3: Gerekli parametreleri ve istek gövdesine dahil etmek istediğiniz verileri doldurun.

Apidog

Sonuç

Axios, geliştiriciler tarafından haklı bir nedenle çok beğeniliyor. Bu makalede, HTTP istekleri yapmak için React'ta bir API'nin nasıl kullanılacağını ele aldık. Axios'un ne olduğu, neden kullanmanız gerektiği ve nasıl kurulacağı dahil olmak üzere temellerini ele aldık.

Apidog'u kullanmak sadece size değerli zaman ve çaba kazandırmakla kalmaz, aynı zamanda kodunuzun doğru ve hatasız olmasını sağlar. Kullanıcı dostu arayüzü ve sezgisel özellikleriyle Apidog, Axios istekleriyle çalışan herhangi bir geliştirici için olmazsa olmaz bir araçtır.

button

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin