Junior
GraphQL nədir?
sobes.tech Süni İntellekt
AI-dan cavab
GraphQL API üçün sorğu dilidir və bu sorğuları yerinə yetirmək üçün icra mühitidir. Müştəri tam olaraq ehtiyacı olan məlumatları soruşmağa imkan verir və cavabın strukturunu müəyyən edir. Ənənəvi REST API-lərdən fərqli olaraq, GraphQL tək bir son nöqtəyə sorğu göndərir və tələb olunan sahələri göstərir.
GraphQL-in əsas anlayışları:
- Sxema (Schema): Mövcud məlumat tiplərini, mövcud əməliyyatları (sorğular, mutasiyalar, abunələr) və tiplər arasındakı əlaqələri müəyyən edir. SDL (Schema Definition Language) ilə yazılır.
- Tiplər (Types): Məlumatların quruluşunu müəyyən edir. Skalarlar (String, Int, Float, Boolean, ID), xüsusi və ya konteyner tiplər (Siyahılar, Non-Null) ola bilər.
- Sorğular (Queries): Serverdən məlumat almaq üçün istifadə olunur. Müştəri lazım olan sahələri göstərir və server yalnız bu sahələr üçün məlumat verir.
- Mutasiyalar (Mutations): Serverdəki məlumatları dəyişdirmək üçün istifadə olunur (yaratmaq, yeniləmək, silmək). Sorğulara bənzəyir, lakin vəziyyət dəyişməsini açıq şəkildə göstərir.
- Abunələr (Subscriptions): Müştəriyə məlumatlar dəyişdikcə real vaxt yeniləmələri almağa imkan verir.
GraphQL-in üstünlükləri:
- Effektivlik: Müştəri yalnız lazım olan məlumatları soruşur, bu da ötürülən məlumatların miqdarını azaldır və artıq yüklənmənin qarşısını alır.
- Əlçatanlıq: Müştəri cavabın strukturunu müəyyən edir, bu da API-nin inkişafını və təkamülünü asanlaşdırır.
- Performansın yaxşılaşdırılması: Effektiv məlumat əldə etmə səhifələrin yüklənməsini sürətləndirə bilər.
- Qəti tip yoxlaması: Sxema müştəri və server arasında aydın razılaşma təmin edir, bu da doğrulama və səhvlərin aşkarlanmasını asanlaşdırır.
Sorğu nümunəsi:
query GetUser {
user(id: "123") {
name
email
posts {
title
}
}
}
Mutasiya nümunəsi:
mutation CreatePost {
createPost(input: { title: "Yeni Post", content: "..." }) {
id
title
}
}