مطمئن شوید که می دانید چه زمانی از پرس و جوی GraphQL و چه زمانی از جهش استفاده کنید.
GraphQL یک زبان پرس و جو قدرتمند است که مشتریان را قادر می سازد فقط داده های مورد نیاز خود را از سرور درخواست کنند. این به شما کمک می کند تا سرعت درخواست را افزایش دهید زیرا می توانید پرس و جوها را فقط برای واکشی داده های خاص سفارشی کنید.
GraphQL دو نوع عملیات دارد: پرس و جو و جهش. علیرغم شباهت هایشان، آنها اهداف کاملا متفاوتی را دنبال می کنند.
تفاوت بین پرس و جوهای GraphQL و جهش
کوئری ها و جهش ها از این نظر مشابه هستند، شما از آنها برای درخواست به API های GraphQL استفاده می کنید. با این حال، آنها در نحو، حالت اجرا، و استفاده متفاوت هستند.
نحو کوئری ها و جهش ها
سینتکس اصلی یک کوئری GraphQL به شرح زیر است:
query getProduct($id: ID!) {
product(id: $id) {
name
price
}
}
در اینجا چیزی است که این کد مخفف آن است:
- query کلمه کلیدی است که درخواست را به عنوان یک پرس و جو شناسایی می کند.
- getProduct نام عملیات است
- $id متغیر است
- شناسه! نوع متغیر است.
اگر به متغیرها نیاز ندارید، آنها را حذف کنید و پرس و جو را به صورت زیر تعریف کنید:
query getProducts {
products {
name
price
}
}
در برخی شرایط، میتوانید کلمه کلیدی query و نام را حذف کنید و یک Query GraphQL مانند این بنویسید:
products {
name
price
}
در حالی که این قالب کار می کند، استفاده از کلمه کلیدی query برای خوانایی بهتر است.
نحو جهشها به جز استفاده از کلمه کلیدی جهش، شبیه پرسوجوها است.
mutation AddNewProduct ($name: String!, $price: Number!) {
addProduct(name: $name, price: $price) {
name
price
}
}
حالت های مختلف اجرا
تفاوت دیگر بین پرس و جو و جهش این است که پرس و جوها به صورت موازی اجرا می شوند در حالی که جهش ها به صورت همزمان اجرا می شوند. وقتی دو جهش را اجرا می کنید، آنها به ترتیب یکی پس از دیگری اجرا می شوند
کاربردهای متضاد برای کوئری ها و جهش ها
شما باید از پرس و جوها فقط برای عملیات READ استفاده کنید. به عنوان مثال، هنگام واکشی محصولات از نقطه پایانی API از یک پرس و جو استفاده کنید.
برای عملیات CREATE، UPDATE و DELETE از جهش استفاده کنید. اینها اساساً عملیاتی هستند که داده های ذخیره شده در پایگاه داده را تغییر می دهند.
برای مثال، هنگام بهروزرسانی نام مشتری از طریق نقطه پایانی سفارشها، از جهش استفاده کنید.
عادت به استفاده مناسب از پرس و جوها و جهش ها داشته باشید
GraphQL یک زبان پرس و جو قدرتمند است که به شما امکان می دهد فقط داده های مورد نیاز خود را درخواست کنید. دو عملیات وجود دارد که می توانید در GraphQL انجام دهید: پرس و جو و جهش.
این عملیات در نحو، اجرا و کاربردهای مورد نظرشان متفاوت است. شما باید از پرس و جو برای عملیات READ و جهش برای عملیات CREATE، UPDATE و DELETE استفاده کنید.