JSON, hafif bir veri değişim formatıdır ve anahtar-değer çiftleri şeklinde veri depolar Bu özelliği nedeniyle diğer veri formatlarından farklıdır JSON veri yapısı, web servislerinde ve RESTful API'lerin çoğunda kullanılır Axios ise açık kaynaklı bir HTTP kütüphanesidir ve web tarayıcıları ve Nodejs tarafından desteklenen HTTP talepleri göndermek ve almak için kullanılır Get methodu, Axios'un veri çekme işlemi için kullanılan bir HTTP methodudur ve bir endpoint'e bir HTTP GET isteği göndererek, o endpoint'den veri almak için kullanılır Post methodu ise veri gönderme işlemlerini gerçekleştirmek için kullanılır Axiospost metodu, backend ile bir URL bağlantısı üzerinden bir istek göndermenizi ve belirlediğiniz verileri de göndermenizi sağlar
JSON, JavaScript Object Notation (JavaScript Nesne Gösterimi) anlamına gelen, hafif bir veri değişim formatıdır. JSON, anahtar-değer çiftleri şeklinde veri depolar ve bu özelliği ile diğer veri formatlarından farklıdır. Anahtar-değer çiftleri, mükemmel bir yapısal veri formatı için ideal bir seçenektir. Veriler, anahtar-değer çiftlerine bölünür ve bu çiftler, JSON belgesinde değişik türlerde olabilir.
JSON, web servislerinde veri yapısı olarak sıklıkla kullanılır ve RESTful API'lerin çoğu JSON veri formatına sahiptir. Bu nedenle, birçok programlama dili, JSON veri formatını destekler ve kullanır. JSON, web uygulamalarında da sıklıkla kullanılan bir veri formatıdır.
JSON Özellikleri | Açıklama |
---|---|
Basit | JSON, okunması ve yazılması son derece kolay bir biçimde kodlanabilir. |
Kapsayıcı | JSON, karmaşık veri yapılarını kapsayabilir. |
Hafif | JSON, hafif bir veri değişim formatıdır ve insanların anlaması kolaydır. |
Ortak | Birçok programlama dili, JSON veri formatını destekler ve kullanır. |
Axios Nedir?
Axios, açık kaynaklı bir HTTP kütüphanesidir. Axios, web tarayıcıları ve Node.js tarafından desteklenen HTTP talepleri göndermek ve almak için kullanılabilir. Bu kütüphane, genellikle Ajax çağrılarını yerine getirmek için kullanılır ve XMLHttpRequest (XHR) ve JSONP taleplerini destekler. Axios, kullanımı kolay bir API sağlar ve RESTful API'lerle çalışırken verileri kolaylıkla işlemenizi sağlar. Axios, bir axios() yöntemi içerir. Bu yöntem, Ajax çağrılarını yapmak ve almak için kullanılır. Axios kullanmanın bir diğer avantajı, tarayıcılarla ve Node.js ile uyumlu olmasıdır. Axios'un Node.js desteği, Kütüphane'nin axios() yöntemi sayesinde birden fazla protokolü (HTTP veya HTTPS) desteklemesini sağlar. Bu sayede, sunucu tarafında çalışan uygulamalarda Axios kullanarak veri almak ve göndermek mümkündür. Bunun dışında axios özellikleri arasında isteklerin yönetimi, verilerin manipülasyonu, var yapısının kullanımı gibi birçok özellik bulunmaktadır.
Get Methodu Nedir?
Axios, HTTP talepleri için kullanılan bir kütüphanedir ve get methodu, Axios'un veri çekme işlemi için kullanılan bir HTTP methodudur.
Get methodu, bir endpoint'e bir HTTP GET isteği göndererek, o endpoint'den veri almak için kullanılır. Bu işlem, bir API'den veri çekmek için sıklıkla kullanılır. Axios'un get methodu, belirtilen endpoint'e GET isteği gönderir ve endpoint'in verisini bir Promise döndürür. Bu Promise'in then() metodu kullanılarak gelen veri işlenebilir.
Örneğin, bir kitaplık uygulamasında tüm kitapların listesini getirmek için Axios'un get methodu kullanılabilir. Belirtilen endpoint'e GET isteği gönderilerek, tüm kitapların listesi alınabilir ve bu veriler uygulama üzerinde gösterilebilir.
Metod | Açıklama |
---|---|
METHOD.GET | Veri çekmek için kullanılır. |
METHOD.POST | Veri göndermek için kullanılır. |
METHOD.PUT | Var olan bir kaydı güncellemek için kullanılır. |
METHOD.DELETE | Bir kaydı silmek için kullanılır. |
Get methodunun kullanımı oldukça basittir. Belirtilen endpoint'e gönderilecek istek ayarları axios.get() fonksiyonu içerisinde yapılır ve bu fonksiyon bir Promise döndürür. Promise'in then() metodu ile gelen veriler işlenebilir.
Örnek Kod Parçası
Axios, veri çekme işlemlerinde kullanılan popüler bir kütüphanedir. Bu kütüphane ile sunduğu get metodu sayesinde basitçe veri çekebilirsiniz. İşte kullanımı:
Adım | Kod |
---|---|
1 | import axios from 'axios'; |
2 | const url = 'https://example.com/api/data'; |
Bu örnek kod parçasında ilk adımda axios kütüphanesinin dahil edildiğini görüyoruz. İkinci adımda ise get metodu ile verilerimizi çekiyoruz. axios.get
metodu parametre olarak api adresini alır. Ardından işlem tamamlanana kadar then()
ve catch()
metotları çalıştırılır. then()
metodu, işlem başarılı olursa çalışacak fonksiyonu içerir. Burada yapılan işlem basitçe response objesinin data özelliğini console'a yazdırmaktır. catch()
metodu ise işlem hata verirse çalışacak fonksiyonu içerir. Bu blok sayesinde olası hatalar daha kolay takip edilebilir.
Post Methodu Nedir?
Axios, HTTP isteklerini ve yanıtlarını yapmak için kullanışlı bir JavaScript kütüphanesidir. Axios, HTTP protokolünü kullanarak JSON formatındaki verileri almanın yanı sıra, post methodu ile de veri gönderme işlemlerini gerçekleştirebilir.
Axios.post() metodu, backend ile bir URL bağlantısı üzerinden bir istek göndermenizi sağlar ve gönderilen isteğin içinde belirlediğiniz verileri de göndermenize olanak tanır. Axios.post() metodunu kullanmak, form verilerini API'ye gönderip dinamik bir şekilde sayfa içeriğini değiştirmek gibi işlemler yapmak için oldukça önemlidir.
Parametre | Açıklama |
---|---|
url | Gönderilecek isteğin URL adresi |
data | Gönderilmek istenilen verileri içeren JSON formatındaki nesne |
config | Konfigürasyon ayarları için kullanılır |
Bir örnekle açıklamak gerekirse, bir kullanıcının bir formu doldurduktan sonra göndermek istediği veriler post methodu ile Axios kullanılarak gönderilebilir. Bu işlem için öncelikle Axios.post() metodunun kullanılabileceği bir `handleSubmit` fonksiyonu oluşturulur ve bu fonksiyonun içinde `axios.post()` metodu kullanılır.
- Öncelikle, boş bir nesne oluşturarak gönderilmek istenen verilerin içine girilir:
const formData = {} formData.name = this.state.name formData.surname = this.state.surname formData.phone = this.state.phone
- Daha sonra Axios.post() metoduna URL ve verileri içeren nesne gönderilir:
axios.post('/api/user', formData) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) })
Bu örnekte, `axios.post()` metodu `/api/user` URL'sine verileri içeren formData nesnesini post edecektir. Veri gönderimi başarılı bir şekilde gerçekleşirse, `then()` bloğu çalışır ve sonuçlar konsolda görüntülenebilir. Eğer bir hata oluşursa, `catch()` bloğu çalışır ve hata konsolda görüntülenebilir.
Örnek Kod Parçası
Burada, Axios'un post methodu kullanılarak oluşturulan bir kod örneği verilecektir. Bu örnekte, bir API'ye veri gönderilecektir. Axios'un post methodu, belirtilen URL'ye belirli bir veri göndermek için kullanılır. Bu örnekte, post methodu kullanılarak "name" ve "age" adında iki parametrenin API'ye gönderilmesi sağlanacaktır.
Metod | POST |
---|---|
URL | https://api.example.com/users |
Gövde | { "name": "John Doe", "age": 30 } |
Yukarıdaki tabloda, "Metod" sütunu "POST" ve "URL" sütunu örnek bir API URL'si ile doldurulmuştur. Gövde sütununda ise gönderilecek veri, JSON formatında gösterilmiştir. Bu verilerin "name" ve "age" olarak adlandırılmış olduğunu görebilirsiniz.
Aşağıdaki JavaScript kod parçası, Axios'un post methodunu kullanarak veri gönderme işlemini gerçekleştirir.
axios.post('https://api.example.com/users', { name: 'John Doe', age: 30}).then(function (response) { console.log(response);}).catch(function (error) { console.log(error);});
Yukarıdaki kod parçasında, Axios'un post methodu kullanılarak API'ye gönderilecek veriler belirlenmiştir. Daha sonra, bu veriler post methodu ile belirtilen API URL'sine gönderilir. Eğer işlem başarılı olursa, then bloğunda belirtilen fonksiyon çalışacak ve gönderilen verinin yanıtı alınacaktır. Eğer bir hata oluşursa, catch bloğunda belirtilen fonksiyon çalışacaktır.
Bu örnek, Axios'un post methodunun kullanımını gösterir ve API'ye veri gönderme işlemlerinde çok yaygın olarak kullanılmaktadır.
React ile Axios Kullanımı
React, modern web uygulamalarının vazgeçilmez bir kütüphanesi haline gelmiştir. Bu sebeple, React projelerinde Axios kütüphanesi kullanarak sunucuyla iletişim kurmak oldukça yaygın hale geldi. Axios, promise tabanlı bir HTTP istemci kütüphanesi olarak, React projelerinde kullanılabilecek en iyi seçeneklerden biridir.
React projelerinde Axios kullanımı oldukça basittir. Axios kütüphanesini kullanarak veri istekleri yapabilir, aldığınız yanıtları işleyebilir ve güncelleyebilirsiniz. Bunlar genellikle useState ve useEffect hook'ları veya React Context API gibi React'in state yönetimi çözümleriyle birlikte kullanılır.
useState hook'ı kullanarak Axios ile veri çekmek oldukça kolaydır. Örneğin, useState hook'unu kullanarak bir değişken oluşturabilir, daha sonra Axios'u kullanarak bu değişkene veri ekleyebilir ve son olarak setState hook'unu kullanarak bu veriyi bileşen içinde güncelleyebilirsiniz.
Axios ile veri çekme işlemleri için useEffect hook'u da kullanılabilir. useEffect hook'u, bileşen yüklendiğinde otomatik olarak çalışır ve böylece bir API'den veri isteyebilirsiniz. useEffect hook'u, sayfa yenilendikçe tekrar tekrar istek göndermeyi önlemek için bir clean-up fonksiyonunu içerebilir.
React Context API kullanarak da Axios ile veri çekme işlemleri yapabilirsiniz. Bu, veri yönetimi çözümü olarak kullanılabilir ve birçok bileşen arasında veri aktarımı yapmak yerine tek bir yerden yönetebilirsiniz.
Son olarak, Redux ile Axios kullanarak da veri çekme işlemleri gerçekleştirebilirsiniz. Redux, uygulamanın durumunu yönetmek için kullanılan bir state yönetimi çözümüdür. Axios ile veri çekme işlemleri Redux store'a da dahil edilebilir, böylece uygulamanın durumu yönetilebilir.
Tüm bunlar, React projelerinde Axios kullanımının nasıl yapılabileceğine dair sadece birkaç örnektir. Axios'un kullanımı oldukça esnektir ve React projelerindeki ihtiyaçlarınıza göre ayarlanabilir.
useState Hook Kullanımı
useState hook'u, React projelerindeki state yönetimini kolaylaştıran ve verilerin tutulmasını sağlayan bir özelliğidir. Axios kütüphanesi ile birlikte kullanarak API'den veri çekme işlemini gerçekleştirebiliriz.
useState hook'u kullanarak, Axios ile çektiğimiz verileri depolayabiliriz. Bunun için, useState hook'u ile birlikte bir state tanımlamamız gerekiyor. Aşağıdaki örnek kod parçasında, 'data' adında bir state tanımlandı ve useState hook'u ile bu state, boş bir dizi ile başlatıldı.
Kod Parçası |
---|
const [data, setData] = useState([]); |
useState hook'u ile birlikte tanımladığımız state'e, Axios ile API'den veri çektiğimizde, gelen verileri yükleyebiliriz. Bunun için useEffect hook'u da kullanmamız gerekiyor. useEffect hook'u ile, component'imiz ilk render edildiğinde, yani sayfa açıldığında, Axios ile verilerimizi çekebilir ve useState hook'u ile tanımladığımız state'e yükleyebiliriz.
Aşağıdaki örnek kod parçasında, useEffect ve Axios kütüphanesi birlikte kullanılarak, bir API'den verilerin çekilip 'data' adlı state'e yüklenmesi işlemi gösteriliyor.
Kod Parçası |
---|
useEffect(() => { axios.get('https://jsonplaceholder.typicode.com/posts') .then(response => { setData(response.data); })}, []); |
Bu şekilde, useState hook'u ve useEffect hook'u ile Axios kütüphanesini kullanarak API'den verileri çekebilir ve projemizde kullanabiliriz.
Örnek Kod Parçası
useState hook'u kullanarak Axios ile veri çekme ve depolama işlemi şu şekilde yapılabilir:
Kod Parçası |
---|
import React, { useState, useEffect } from 'react';import axios from 'axios';function ExampleComponent() { const [data, setData] = useState([]); useEffect(async () => { const response = await axios.get('https://jsonplaceholder.typicode.com/posts'); setData(response.data); }, []); return ( <div> <h1>Data:</h1> <ul> {data.map((item) => ( <li key={item.id}>{item.title}</li> ))} </ul> </div> );}export default ExampleComponent; |
Bu örnekte, useState hook'u kullanarak bir React bileşeni oluşturulmuştur. useEffect hook'u, bileşenin ilk renderında ilk kez oluşurken çalışacak ve Axios ile API'den veri çekecektir. Veriler setData fonksiyonu kullanılarak bileşenin state'ine depolanır ve sonuç olarak bir <ul> listesi içinde gösterilir. Bu şekilde, useState ve useEffect kullanarak, Axios ile API'den veri çekebilir ve bileşenin state'inde depolayabilirsiniz.
useEffect Hook Kullanımı
Axios'un sağladığı forget ve cancel token işlevleri sayesinde, kullanıcının yaptığı isteklerin iptal edilmesi mümkündür. Bu sayede isteklerin boşuna yapılmaması ve zaman kaybının önüne geçilmesi sağlanır.
useEffect hook'u, component'in render edilmesi sırasında çalışır ve burada Axios ile birlikte veri çekme işlemleri gerçekleştirilebilir. Bu veriler, state değişkenleri ile depolanarak component'in yeniden render edilmesi önlenebilir.
useEffect hook'u kullanılarak Axios ile veri çekme işlemi gerçekleştirmek için öncelikle useState hook'u kullanılarak bir state değişkeni tanımlanır. Bu state değişkenine useState hook'u içerisinde varsayılan bir değer de atayabilirsiniz. Daha sonra useEffect hook'u kullanılarak Axios ile birlikte veri çekme işlemi gerçekleştirilir. Bu işlemin ardından, veriler state değişkenine atılır ve component, state değişkenindeki verileri kullanarak yeniden render edilir.
Örnek olarak, useEffect hook'u ve Axios kullanılarak bir component'in componentDidMount() metodu yerine yazılabileceğini düşünebilirsiniz. Bu sayede, component render edildikten sonra useEffect hook'u sayesinde Axios ile veri çekme işlemleri gerçekleştirilerek, veriler depolanabilir ve component, yeniden render edilmeden önce istenilen şekilde güncellenebilir.
Örnek Kod Parçası
Aşağıdaki kod örneği, useEffect hook'u ve Axios kullanılarak oluşturulmuştur. Bu kod parçası, bir React bileşeni içinde bulunabilir ve useEffect hook'u kullanılarak bir API'den veri çeker. Bu örnek kodda, useEffect hook'u içindeki Axios çağrısı kullanılarak bir API'den veri çekme işlemi gerçekleştirilir.
import React, { useEffect, useState } from 'react'; |
import axios from 'axios'; |
|
Axios ve React ile Veri Çekme İşlemleri
Axios ve React, birlikte kullanıldığında API'den veri çekme işlemlerinin oldukça kolay olduğu bir seçenek sunar. Axios, API çağrıları yapmak için kullanılan bir JavaScript kütüphanesidir. Bu kütüphane sayesinde AJAX istekleri yapılır ve verilerin alınması sağlanır.
React'ta kullanılabilecek alternatif bir kütüphane daha bulunmaktadır. Ancak, Axios'un kullanımı daha popülerdir. İlk önce, React'ta Axios kurulumunu gerçekleştirmek için `npm install axios` komutunu çalıştırmalısınız.
Axios, `get` ve `post` olmak üzere 2 farklı çağrı türü sunar. `get` ile veri çekilebilirken, `post` ile veri gönderilebilir.
Axios'ın React ile kullanımı, genellikle `useState` ve `useEffect` hook'ları ile birlikte gerçekleştirilir. `useState` hook'u, bileşenin durumunu değiştirerek Axios ile veri alınmasına olanak tanır. Bu şekilde, veriler bileşen içinde depolanır ve daha sonra kullanılabilir. `useEffect` hook'u ise, bileşenin yüklendiği anda Axios ile veri almasını sağlar.
React Context API ve Redux gibi state yönetim araçları da Axios ile veri çekme işlemlerinde kullanılabilir. Bu araçlar, verilerin depolanması ve paylaşılması için idealdir.
Özetle, Axios ve React ile veri çekme işlemleri oldukça kolay bir şekilde gerçekleştirilebilir. Bu kütüphane, API çağrılarını yapmak için kullanılan en popüler seçeneklerden biridir. React ile birleştirildiğinde, daha iyi bir veri yönetimi sağlanır ve kullanıcı deneyimi iyileştirilir.
React Context API Kullanımı
React Context API, React uygulamasındaki bileşenler arasında veri aktarımına izin veren bir özelliktir. Bu özellik sayesinde, veri aktarımı için props kullanmak yerine Context API kullanarak veri depolanabilir ve her bileşene dağıtılabilir.
Axios ile veri çekme işlemlerinde React Context API kullanmak, verilerin uygulama genelinde kullanımını kolaylaştırır ve kod tekrarını azaltır. Veriler, Context API üzerinden yüklenerek bileşenler arasında paylaşılabilir.
React Context API kullanarak veri çekme işlemi şu adımlarla gerçekleştirilir:
- Context API oluşturulur
- Axios kullanarak veriler alınır
- Veriler, Context API üzerinde depolanır
- Bileşenler, ihtiyaç duydukları veriyi Context API'den alırlar
Örnek olarak, bir internet mağazası uygulaması düşünelim. Kullanıcının sepetindeki ürünlerin her sayfada gösterilmesi gerekiyor. İşte bu durumda, ürünlerin verileri Axios ile çekilerek Context API üzerinde depolanabilir. Bileşenler, sepet sayfasından ödeme sayfasına kadar ihtiyaç duydukları ürünleri Context API'den alabilirler.
Örnek Kod Parçası
React projelerinde, Axios kütüphanesi kullanılarak veri çekme işlemleri React Context API yardımıyla yapılabilmektedir. Bu sayede kod kontrolü daha düzenli hale getirilebilmekte ve gereksiz kod tekrarları engellenebilmektedir.
Aşağıdaki örnek kod parçası, React Context API kullanılarak Axios ile veri çekme örneğini göstermektedir:
```javascriptimport React, { createContext, useState, useEffect } from 'react';import axios from 'axios';
// Verileri depolamak için context objesi oluşturulmasıexport const DataContext = createContext();
const DataProvider = (props) => { const [data, setData] = useState([]);
useEffect(() => { axios.get('https://example.com/api/data') .then((response) => { setData(response.data); }) .catch((error) => { console.log(error); }); }, []);
return (
export default DataProvider;```
Yukarıdaki kod parçasında, veriler DataProvider bileşeni içinde `useState` hook'u kullanılarak depolanır. `useEffect` hook'u sayesinde, bileşen yüklendiğinde Axios aracılığıyla API'den veriler çekilir ve `setData` fonksiyonu ile depolanır. `DataContext.Provider` bileşeni, depolanan verileri tüm bileşenlere aktarmak üzere kullanılır.
Bu örnek kod parçası, Axios ile veri çekme sürecini daha modern bir şekilde yönetmek ve React Context API kullanarak verileri paylaşmak açısından oldukça faydalıdır.
Redux Kullanımı
Redux, veri yönetimi için kullanılan bir JavaScript kütüphanesidir ve React ile iyi bir şekilde birleşir. Axios ve Redux birleştirildiğinde, veri çekme işlemleri için çok güçlü bir kombinasyon oluşur.
Redux, uygulamanın kimliği ve durumu hakkındaki tüm bilgileri tek bir yerde depolar. Axios ise API'den veri çekme işlemini gerçekleştirir. Bu nedenle, Redux ile birleştirildiğinde Axios kullanarak yapılan herhangi bir veri çekme işlemi, Redux tarafından yönetilen bir durum haline gelir.
Redux kullanarak Axios ile veri çekme işlemi, aşağıdaki adımlarla gerçekleştirilir:
1. Redux'a Axios isteklerini göndermek için bir middleware (ara yazılım) ekleyin. Bunun için redux-thunk kullanabilirsiniz.2. Axios istekleri, Redux Store'da tanımlanan durumların içerisinde yer alır.3. Axios, API'den veri çeker ve Redux Store'daki ilgili duruma kaydeder.4. Bu durum değişikliği, tüm uygulamaya yansır ve güncellenen veri, diğer bileşenler tarafından da kullanılabilir hale gelir.
Redux ve Axios kullanarak veri çekme işlemleri, API'den veri almak ve veriyi uygulamanın herhangi bir yerinde kullanmak için harika bir yöntemdir. Bu kombinasyon, kodun daha temiz ve daha organize olmasını sağlar ve daha az hata yapmanıza yardımcı olur. Bu nedenle, Redux ve Axios kullanarak veri yönetimi işlemlerinizde daha güçlü bir yapıya ve daha iyi bir güvenilirliğe sahip olabilirsiniz.
Örnek Kod Parçası
Redux kullanarak Axios ile veri çekme işlemleri oldukça kolay hale geliyor. Redux, state yönetimini sağlarken Axios, veri alma işlemlerini yapıyor. Bu sayede hem uygulamanın güvenliği hem de performansı artırılıyor.
Redux kullanımı için ilk olarak, redux ve react-redux paketlerinin yüklenmesi gerekmektedir. Ardından, store adında bir dosya oluşturulmalıdır. Bu dosyada, gereken tüm middleware, reducer ve action tanımlamaları yapılmalıdır. Ayrıca, önceden yüklenmiş olan Axios paketi de kullanılmalıdır.
Örnek olarak, bir RESTful API'den kullanıcılara ilişkin verileri alalım. Bu işlem için, öncelikle kullanıcılara ait verilerin saklanacağı bir reducer oluşturulmalıdır. Daha sonra, kullanıcılara ilişkin veri alma işlemi, action ve middleware yardımı ile gerçekleştirilmelidir.
Örneğin, bir 'usersReducer.js' dosyası oluşturalım. Bu dosyada, 'initialState' adında bir obje ve kullanıcı verilerinin saklanacağı bir 'users' objesi tanımlayalım. Daha sonra, 'FETCH_USERS' adında bir action oluşturalım. Bu action, kullanıcı verilerini alma işlemini gerçekleştirecektir. İşlem sırasında kullanılacak olan Axios kodumuz ise aşağıdaki gibidir:
{` axios.get('${API_BASE_URL}/users').then(response => { dispatch({type: FETCH_USERS, payload: response.data}); }).catch(error => { console.log(error); }); `}
Bu kodda, API'nin base URL'i belirtilmekte ve Axios'un get methodu kullanılarak kullanıcı verileri alınmaktadır. İşlem başarılıysa, action çağrılarak kullanıcı verileri 'users' nesnesine aktarılıyor.
Bu örnekle birlikte, Redux kullanarak Axios ile veri çekme işlemlerinin güçlü bir şekilde yapılabileceği görülmektedir. Bu sayede, büyük ölçekli projelerde bile veri yönetimi kolaylıkla yapılabilmektedir.