البرمجة
GraphQL مقابل REST API
12 ديسمبر 202511 دقائق قراءة
مقارنة بين GraphQL و REST وكيفية اختيار الأنسب لمشروعك.
ما هو GraphQL؟
GraphQL لغة استعلام للـ API. العميل يحدد بالضبط البيانات المطلوبة. حل Over-fetching وUnder-fetching.
مقارنة
// REST - طلبات متعددة
GET /users/1
GET /users/1/posts
GET /users/1/followers
// GraphQL - طلب واحد
query {
user(id: 1) {
name
posts { title }
followers { name }
}
}
إعداد Apollo Server
const { ApolloServer, gql } = require('apollo-server');
const typeDefs = gql`
type User {
id: ID!
name: String!
email: String!
}
type Query {
users: [User]
user(id: ID!): User
}
`;
const resolvers = {
Query: {
users: () => db.getUsers(),
user: (_, { id }) => db.getUser(id)
}
};
متى تختار ماذا؟
REST: APIs بسيطة، caching سهل. GraphQL: بيانات معقدة ومترابطة، تطبيقات موبايل.
الخلاصة
GraphQL ليس بديلاً لـ REST بل خيار مختلف. اختر بناءً على احتياجات مشروعك.
الوسوم
#GraphQL#REST#API#Backend#Apollo