آشنایی با Query، Mutation و Subscription در GraphQL

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/06/23
  • تعداد بازدید: 1

آشنایی با Query، Mutation و Subscription در GraphQL

در GraphQL برای کار با داده‌ها سه مفهوم اصلی وجود دارد که باید با آن‌ها آشنا شویم: Query، Mutation و Subscription. این مفاهیم به ما کمک می‌کنند بدانیم چگونه داده‌ها را دریافت کنیم، تغییر دهیم یا تغییرات را دنبال کنیم.

1. Query (درخواست داده)
Query به معنی درخواست داده است و شبیه به GET در REST عمل می‌کند. با استفاده از Query می‌توانیم اطلاعات مورد نیاز خود را از سرور دریافت کنیم و دقیقاً مشخص کنیم کدام فیلدها را می‌خواهیم. این کار باعث می‌شود داده‌های اضافی ارسال نشود و سرعت بارگذاری بالا رود.

مثال ساده دریافت اطلاعات کاربران:

{
  users {
    id
    name
    email
  }
}

در این مثال، ما فیلدهای id، name و email همه کاربران را درخواست کرده‌ایم.

2. Mutation (تغییر داده)
Mutation برای ایجاد، تغییر یا حذف داده‌ها استفاده می‌شود و شبیه به POST، PUT یا DELETE در REST است. زمانی که می‌خواهیم اطلاعاتی را در سرور ذخیره کنیم یا تغییر دهیم، از Mutation استفاده می‌کنیم.

مثال ایجاد یک کاربر جدید:

mutation {
  createUser(input: {name: "Ali", email: "ali@example.com"}) {
    id
    name
    email
  }
}

در این مثال، ما داده‌های کاربر جدید را به سرور می‌فرستیم و سرور پس از ایجاد کاربر، همان اطلاعات را به ما برمی‌گرداند.

3. Subscription (دریافت تغییرات به‌صورت زنده)
Subscription برای دریافت تغییرات داده‌ها به‌صورت زنده استفاده می‌شود. این ویژگی مشابه دریافت اعلان‌ها یا پیام‌های جدید در یک اپلیکیشن چت است. با استفاده از Subscription، کلاینت می‌تواند به‌صورت خودکار از تغییرات مطلع شود بدون آنکه دوباره درخواست ارسال کند.

مثال دریافت پیام‌های جدید در یک چت:

subscription {
  newMessage {
    id
    content
    sender
  }
}

هر زمان که پیام جدیدی ارسال شود، سرور آن را برای کلاینت می‌فرستد و نمایش داده می‌شود.

جمع‌بندی

مفهوم کاربرد مثال ساده
Query دریافت داده‌ها از سرور { users { id, name, email } }
Mutation ایجاد یا تغییر داده‌ها createUser(name: "Ali", email: "ali@example.com")
Subscription دریافت تغییرات به‌صورت زنده newMessage { id, content, sender }

با درک این سه مفهوم، شما می‌توانید در مراحل بعدی پرس‌وجوهای خود را طراحی کنید، داده‌ها را دریافت و تغییر دهید و حتی تغییرات زنده را در اپلیکیشن‌های خود نمایش دهید.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.