​​​​​​​GraphQL nima?

​​​​​​​GraphQL nima?

GraphQL — bu APIlar uchun so‘rovlar tili (query language) va shu so‘rovlarni bajaruvchi tizim (runtime) hisoblanadi.
U 2012-yilda Facebook tomonidan yaratilgan va 2015-yilda ommaga taqdim etilgan.

GraphQL REST API’lardan farqli ravishda foydalanuvchiga aynan kerakli ma'lumotni bitta so‘rov orqali olish imkonini beradi.


🚀 GraphQL afzalliklari

Imkoniyat Afzalligi
Bitta endpoint Barcha so‘rovlar faqat bitta URL orqali yuboriladi (/graphql)
Kerakli maydonlar Faqat kerakli ma'lumotlar olinadi (ortiqcha yuk yo‘q)
Ichma-ich ma’lumotlar Birgalikdagi ma’lumotlarni bitta so‘rovda olish mumkin
Kuchli tiplangan sxema API ma’lumotlari qat’iy turga ega
Versiyalash kerak emas Sxema orqali yangilanadi, v1, v2 kabi versiyalar yo‘q
Real vaqt yangilanishi Subscription orqali doimiy yangilanishlarni qo‘llab-quvvatlaydi

📄 GraphQL qanday ishlaydi?

1. So‘rov yuboriladi:

query {
  user(id: "1") {
    name
    email
    posts {
      title
      likes
    }
  }
}

Bu so‘rov quyidagilarni so‘raydi:

  • id = 1 bo‘lgan foydalanuvchi

  • Uning ismi va emaili

  • Uning postlari: title va likes

2. Natija sifatida aniq shu ma’lumotlar qaytadi:

{
  "data": {
    "user": {
      "name": "Ali",
      "email": "[email protected]",
      "posts": [
        {
          "title": "GraphQL asoslari",
          "likes": 120
        },
        {
          "title": "Murakkab so‘rovlar",
          "likes": 75
        }
      ]
    }
  }
}

🧱 GraphQL sxemasi misoli

type User {
  id: ID!
  name: String!
  email: String!
  posts: [Post]
}

type Post {
  id: ID!
  title: String!
  likes: Int
}

type Query {
  user(id: ID!): User
}
  • type User: foydalanuvchi ma’lumotlari

  • Query: nima so‘rash mumkinligini belgilaydi

  • !: bu maydon bo‘sh bo‘lishi mumkin emas


📌 GraphQL qayerda foydali?

  • Mobil ilovalar — kam trafikda aniq ma’lumot olish

  • Murakkab web ilovalar — ichma-ich so‘rovlar uchun

  • Mikroxizmatlar — bir nechta ma’lumot bazasidan bitta so‘rov

  • Admin panel va monitoring vositalar


🛠 Mashhur vositalar

Vosita Maqsadi
Apollo GraphQL mijoz va server uchun kutubxona
Relay Facebook ishlab chiqqan GraphQL frameworki
GraphiQL So‘rovlarni sinab ko‘rish uchun veb-interfeys
Hasura Ma’lumotlar bazasi ustida avtomatik GraphQL

⚖️ GraphQL va REST solishtirish

GraphQL REST
Bitta endpoint Har xil endpointlar
Faqat kerakli ma’lumot Ortiqcha yoki kam ma’lumot
Versiyasiz v1, v2 kabi kerak bo‘ladi
Kuchli sxema Odatda strukturasi yo‘q

💡 Xulosa

GraphQL — bu zamonaviy, moslashuvchan va samarali API yaratish vositasi.
U yordamida kerakli ma’lumotni tez va aniq olish mumkin. Bu esa foydalanuvchilar tajribasini yaxshilaydi va ishlab chiquvchilar ishini soddalashtiradi.

Примечание: Вся информация, представленная на сайте, является неофициальной. Получить официальную информацию можно с сайтов соответствующих государственных организаций