توسعه دهنده وب | متخصص ری اکت و نکست | طراح سایت |
در آگهی استخدام برنامه نویس منظور از “توانایی کار با GraphQL و RESTful API” چیست؟

این یعنی فرد میتونه با سرویسهایی که دادهها رو از سرور میگیرن و میفرستن، کار کنه.
- RESTful API: روش سنتی که با HTTP requestهایی مثل
GET,POST,PUT,DELETEکار میکنه. - GraphQL: روش جدیدتر که با queryها و mutationها کار میکنه و به کلاینت اجازه میده دقیقا بگه چه دادهای میخواد.
یعنی اگه یک بکاند (سرور) بهت یک REST یا GraphQL API بده، تو میتونی:
- request بزنی،
- داده بگیری،
- اونا رو توی اپ یا سایتت نمایش بدی،
- و اگه لازم باشه داده بفرستی یا تغییر بدی.
آموزش جامع GraphQL (برای برنامهنویسی که با مفاهیم کلی آشناست)
۱. GraphQL چیه؟
GraphQL زبانی برای query زدن به سروره. به جای اینکه چندتا endpoint بسازی (/users, /posts) فقط یک endpoint داری (مثلاً /graphql) و با query دقیقاً میگی چه دادهای میخوای.
مثلاً:
{
user(id: 1) {
name
email
}
}پاسخ:
{
"data": {
"user": {
"name": "Ali",
"email": "ali@example.com"
}
}
}۲. اجزای اصلی GraphQL
- Query: برای گرفتن داده.
- Mutation: برای تغییر داده (مثلاً ساخت، آپدیت یا حذف).
- Subscription: برای دریافت دادههای real-time (مثلاً چت زنده).
۳. مثال ساده Query
query {
allPosts {
id
title
author {
name
}
}
}۴. Mutation مثال
mutation {
createPost(title: "سلام دنیا", content: "اولین پست من!") {
id
title
}
}۵. ابزارهای محبوب کار با GraphQL
- Apollo Client: برای React و Frontend.
- GraphQL Playground یا GraphiQL: برای تست queryها.
- Apollo Server یا GraphQL Yoga: برای ساخت سرور.
۶. چطور استفاده کنی؟
الف. روی فرانتاند، کتابخونهای مثل Apollo Client نصب کن:
npm install @apollo/client graphqlب. یک client بساز:
import { ApolloClient, InMemoryCache } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://example.com/graphql',
cache: new InMemoryCache(),
});ج. یک query اجرا کن:
import { gql } from '@apollo/client';
const GET_USERS = gql`
query {
users {
id
name
}
}
`;
client.query({ query: GET_USERS }).then(response => {
console.log(response.data);
});۷. مقایسه GraphQL با REST
GraphQL:
- یک endpoint
- فقط دادههایی که درخواست کردی
- کش پیچیدهتر، معمولاً با کلاینت مدیریت میشه
REST:
- چندین endpoint
- همیشه کل دادهها رو میفرسته
- کش کردن ساده با HTTP

۸. منابع یادگیری
- graphql.org
- Apollo GraphQL
- کانالهای یوتیوب مثل Academind, Traversy Media
در پست بعدی میخواهم یک مرحله ده قدمی برای یادگیری گراف کیو ال بنویسم. با من همراه باش! منو دنبال کن و در شبکه های اجتماعی اینستاگرام و تلگرام با من همراه شو!
ایدی منو جستجو کن:
seyedahmaddv
مطلبی دیگر در همین موضوع
شاید شما هم یکی از ما OCDها باشید! (درمان)
مطلبی دیگر در همین موضوع
دستکاری آسان عکسها در لاراول با پکیج Intervention
افزایش بازدید بر اساس علاقهمندیهای شما
معرفی 10 نرمافزار ERP حسابداری و ابری برای سال 1405