حالا فرق graphql با rest چیه؟
با rest api چندتا endpoint میتونیم داشته باشیم.
فرض کنید هر کاربر یک پروفایل داره و چندتا پست و با rest api میخوایم پروفایل کاربر و پست پنجمشو بگیریم.
/user/1/profile
/user/1/posts/5
با graphql فقط به یک endpoint دسترسی داریم، تمام داده ها داخل endpoint هستن و با query میتونیم فقط داده هایی رو که میخوایم ازش بگیریم.
مثلا نیازی به پروفایل کاربر نداریم و فقط پست هاشو میخوایم:
query{
user(id: 1){
posts(id: 5){
title: String
text: String
}
}
}حالا فرض کنید عنوان پست رو هم لازم نداریم و فقط متن پست رو میخوایم:
query{
user(id: 1){
posts(id: 5){
text: String
}
}
}خلاصه اینکه تو graphql یدونه endpoint داریم و با query مشخص میکنیم دقیقا چی میخوایم اما تو rest چندتا endpoint میتونیم داشته باشیم بر اساس endpoint ها میتونیم انتخاب کنیم و داده ها رو برگردونیم.

