⊗jsrxPmSDCl 44 of 57 menu

Redux Uygulaması için İstemci

Önceki derslerde uygulamamızın sunucu tarafıyla ilgili çalışmaları neredeyse tamamladık, bir sonraki derslerde gerektiğinde biraz daha ekleme yapacağız. Şimdi, sunucuya HTTP istekleri gönderecek olan uygulama için bir istemci oluşturmamız gerekiyor.

Ürün uygulamamızı açalım ve api klasöründe client.js dosyasını oluşturalım. Başlangıç olarak, hem GET hem de POST istekleri için çalışacak olan client fonksiyonunu yazacağız. Parametre olarak yol, istek türü ve istek gövdesini (POST durumunda) alacak, eğer varsa:

export async function client(url, method, body = {}) {}

Sonra, çeşitli istek bilgilerini ileteceğimiz options nesnesini oluşturmamız gerekiyor. Bu, istek türü ve başlıkları olacak:

export async function client(url, method, body = {}) { const options = { method: method, headers: { 'Content-Type': 'application/json', }, } }

body özelliği bizim için isteğe bağlıdır, onu POST isteğimiz olduğunda iletmeliyiz. Bunun için client içinde, options nesnesi için olan koddan sonra, eğer POST metodu seçilmişse, JSON formatındaki istek gövdesiyle birlikte onu options'a ekleyeceğiz:

if (method === 'POST') { options.body = JSON.stringify(body) }

Daha sonra aşağıda client kodunda, ilk satırında fetch kullanarak sunucudan yanıt alacağımız try bloğunu organize edeceğiz. Başarısızlık durumunda geleneksel olarak bir hata ile bir promise döndüreceğiz:

let data try { const response = await window.fetch(url, options) } catch (err) { return Promise.reject(err.message ? err.message : data) }

Şimdi try bloğundaki kodu tamamlayalım. response'u aldıktan sonra, onu işlememiz gerekiyor. Ondan JSON formatında veriyi çıkaracağız ve eğer yanıt durumu bize her şeyin yolunda olduğunu söylüyorsa, veriler ve bilgilerle (durum, başlıklar ve adres) birlikte bir nesne döndüreceğiz. Eğer durum 'ok' değilse, durum metniyle bir istisna fırlatacağız:

try { const response = await window.fetch(url, options) data = await response.json() if (response.ok) { return { status: response.status, headers: response.headers, url: response.url, data, } } throw new Error(response.statusText) }

client fonksiyonu için kodumuz hazır, geriye kalan sadece GET ve POST metodlarımızın çağrıldığında nasıl çalışacağını yazmak. Haydi client fonksiyonundan sonra onlar için kodu yazalım. client.get metodu parametre olarak bir yol alacak ve client fonksiyonunu çağıracak, ona bu yolu ve GET istek türünü iletecek:

client.get = (url) => client(url, 'GET')

Ve client.post, client için yolu, POST istek türünü ve istek gövdesini iletmelidir:

client.post = (url, body) => client(url, 'POST', body)

Bu kadar, küçük istemcimiz sunucu ile çalışmaya hazır.

Öğrenci uygulamanızı açın, içinde api klasöründe client.js dosyasını oluşturun. Ders materyallerini inceleyerek client fonksiyonunun ve onun iki metodunun (client.get ve client.post) kodunu yazın (kopyalayın).

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet