Connectors

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

0

اصول سیستم GraphQL چیست؟ و ما چطور در کانکتورها از آن استفاده کنیم؟

یکی از مهم‌ترین API هایی که برای اتصال به سایر سیستم‌ها مورد نیاز هست GraphQL هست. برای این استفاده از یک سرور که با GrphQL کار می‌کند کافی است که شما متدهای آن را بشناسید و بعد یک متن Query اماده کنید و آن را برای سرور ارسال کنید.

اما دانستن اصول به شما کمک می‌کند که Adapter های مناسبی را پیاده سازی کنید. 

چه اصولی را باید بشناسیم و در نظر بگیریم که طراحی Adapter ساده‌تر شود؟


آواتار
رها کردن
1 پاسخ
0
بهترین پاسخ


ساختار داده یا Schema

 GraphQL  از Schema به عنوان بخش اساسی تعریف ساختار داده‌ها و نحوه تعامل با آن‌ها استفاهد می‌شود. Schema به‌صورت یک قرارداد بین کلاینت و سرور عمل می‌کند و مشخص می‌کند که چه نوع داده‌هایی می‌توان درخواست کرد، چه عملیات‌هایی (کوئری، موتیشن، سابسکریپشن) در دسترس هستند و ساختار پاسخ‌ها چگونه خواهد بود.

Schema در GraphQL با استفاده از یک زبان به نام SDL (Schema Definition Language) تعریف می‌شود. این تعریف شامل موارد زیر است:

  • Typeها: اشیاء داده‌ای که ساختار داده‌های موجود در سیستم را توصیف می‌کنند (مثل User، Post).
  • Query: عملیات خواندن داده‌ها (مثل دریافت اطلاعات کاربر یا لیست پست‌ها).
  • Mutation: عملیات تغییر داده‌ها (مثل ایجاد، به‌روزرسانی یا حذف یک پست).
  • Subscription: برای دریافت به‌روزرسانی‌های بلادرنگ (مثل اطلاع‌رسانی وقتی پستی جدید اضافه می‌شود).
  • Input Types: برای دریافت داده‌های ورودی پیچیده در موتیشن‌ها.
  • Enums، Interfaces و Unions: برای تعریف ساختارهای پیشرفته‌تر.

ساختار داده‌ها در سرور از قبل در قالب Schema تعریف می‌شود. سرور GraphQL باید دقیقاً مشخص کند که چه نوع داده‌هایی (Typeها) و چه عملیات‌هایی (Query، Mutation، Subscription) در دسترس هستند. این Schema به‌عنوان یک قرارداد عمل می‌کند و کلاینت‌ها فقط می‌توانند داده‌هایی را درخواست کنند که در Schema تعریف شده‌اند. خارج از این ساختار شما نمی‌توانید به مدل داده‌ای و یا قابلیت‌های دیگری دسترسی داشته باشید.

به عبارت دیگر در این ساختار نوع‌های داده تعریف می‌شوند، بعد تعیین می‌شود شما چه کوئری‌هایی می‌توانید اجرا کنید و چگونه داده‌های جدید خود را در سیستم ایجاد کنید. حتی تعیین می‌شود که شما برای اجرای کوئری‌ها از چه پارامترهایی می‌توانید استفاده کنید.

کوئری

یک نوع خاص در ساختار graphql  در نظر گرفته شده که Query نام دارد. این مدل داده‌ای تعیین می‌کند که شما چه عملیات‌هایی را می توانید فراخوانی کنید.  Query برای خواندن یا دریافت داده‌ها از سرور استفاده می‌شود. این عملیات مشابه درخواست‌های GET در REST است.

Mutation

Mutation برای تغییر داده‌ها در سرور استفاده می‌شود. این عملیات مشابه درخواست‌های POST، PUT، DELETE در REST است.

Subscription

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

آواتار
رها کردن