هر دو مدلی از نحوه ی طراحی API هستن که هدف یکسانی رو دنبال میکنن: انتقال اطلاعات با استفاده از پروتوکول های اینترنت از جمله HTTP. البته که، Rest یک الگوی معماری هست و GraphQl یک زبان کوئری.
1- در معماری Rest ما ممکنه چند Endpoint داشته باشیم ولی تو GraphQl یکی بیشتر نیست.<br/>
2- هر دو خروجی JSON در اختیار شما میگذارن.
3- هر دو STATELESS هستن: به این معنی که هر درخواست HTTP به صورت کاملا ایزوله انجام می شه. زمانی که یک درخواست HTTP از طرف کاربر صورت می گیره، همه اطلاعات مورد نیاز سرور برای انجام این درخواست رو با خودش به همراه داره. سرور هیچوقت! به اطلاعات درخواست های قبلی تکیه نمی کنه :).
4- در Rest انعطاف پذیری بیشتری وجود داره ولی در GraphQl فقط با POST سر و کار داریم..!
5- در GraphQl این امکان هست که با جزئیات بیشتری داده ی دریافتی خودتون رو مشخص کنید، در حالی که در Rest چنین امکانی وجود نداره و همه ی دیتاها در هر صورت در جواب سرور نمایش داده میشن (چه نیاز بهشون وجود داشته باشه چه نه :)).
منبع: https://dev.to/mayank0508/rest-v-s-graphql-5bln