Graphql ile çalışırken doğal olarak veriler ile çalışıyoruz. Veriler ise farklı tiplerde olabilir. Graphql ile API geliştirirken kullanılan temel veri tipleri String, Int, Float, Boolean ve ID şeklindedir.
Graphql Temel Veri Tipleri
Şimdi yukarıda saydığımız temel (scalar) veri tiplerini inceleyelim.
Metin / String
Temel metin bilgilerini tutmak için kullanılır. Herhangi bir karakterden uzun bir paragrafa kadar içerebilir. İsimler, başlıklar, açıklamalar gibi bir çok alanda kullanılabilir.
Tanımlama yapılırken kullanılacak alan String olarak tanımlanır. Örnek bir tanımlama şu şekilde olabilir.
const Uye = gql`
isim: String
soyad: String
sehir: String
`;Tamsayı / Integer / Int
Int ile tamsayı olan alanları tanımlayabiliriz. Mesela yaş, okul numarası, adet gibi bilgileri bu tip ile tanımlayabiliriz. Tam sayı tanımlamalarını Int ile yapıyoruz. Örnek bir tanımlama aşağıdaki gibi olabilir.
const Urun = gql`
isim: String
adet: Int
sku: Int
`;Gerçek Sayı / Float
Küsürat içeren kesirli sayılardır. 10.50 gibi değerler alabilirler. Fiyat gibi küsürat içeren sayıları tutarlar. Graphql üzerindee Float ifadesi ile tanımlanırlar. Örnek kullanımı
const Fiyat = gql`
urun: Int
fiyat: Float
liste_fiyati: Float
indirimli_fiyat: Float
`;şeklinde olabilir.
Mantıksal / Boolean
Mantıksal olarak evet ve hayır değerlerini alabilen veri tipidir. İki değer alabililen durumlarda kullanılabilir. Mesela kiptap yayınlandı mı sorusuna cevap orak evet veya hayır değerini alabilir. Graphql ile tanımlama yaparken Boolean ifadesi kullanırlır.
const Kitap = gql`
id: Int
isim: String
aciklama: String
yayinlandi: Boolean
fiyat: Float
`;Şeklinde bir kitap tanımlamasında kullanılabilir.
Kimlik / ID
Verileri işaretlemek için onlara bir kimlik (id) değeri veririz. Bu SQL veritabanlarında genel olarak tamsayı şeklinde kullılır. Graphql bize bu durum için ID türünü veriyor. ID türü aslında metinsel bir ifadedir ve String ile hemen hemen aynı şekildedir. Ürün, üye, şehir gibi akla gelebilecek tüm tanımlamalarda id değerini tanımlamak için kullanılabilir.
const Uye = gql`
id: ID
isim: String
yas: Int
satinalma: Float
etkin: Boolean
`;
Şeklinde bir tanımlamada üyenin id değerini tanımlamada kullanabiliriz.
Özel Veri Türleri
Graphql ile çalışırken temel veri tiplerini kullanarak kendi özel veri türlerimizi oluşturabiliriz. Mesela yine üye bilgisininden devam edelim ve bu türü geliştirelim. Aslında üye bilgisi özel bir veri türü, yada bir nesnedir.
Şimdi Adres şeklinde bir tanımlama yapalım.
const Adres = gql`
id: ID
sehir: String
ilce: String
cadde: String
no: String
postakodu: String
`;Üye için bir fatura ve bir de teslim adresi için bölüm ekleyelim.
const Uye = gql`
id: ID
isim: String
yas: Int
satinalma: Float
etkin: Boolean
fatura_adresi: Adres
teslim_adresi: Adres
`;Tanımlamada görüldüğü gibi artık daha önce tanımlamış olduğumuz Adres türünü Uye tipi üzerinde kullanımış olduk.
Sonuç
Graphql çok fazla veri türü sunmaz bunun yerine özel veri türlerinin tanımlanmasına izin verir. Temel veri tipleri olarak String, Int, Float, Boolean ve ID türleri bulunur.
Graphql ile ilgili sorularınızı yorumlardan bize iletebilirsiniz.*
