GraphQL এর জন্য প্রথম API এন্ডপয়েন্ট তৈরি করা

GraphQL এর বেসিক কনসেপ্ট - গ্রাফকিউএল (GraphQL) - Web Development

275

গ্রাফকিউএল (GraphQL) এর জন্য প্রথম API এন্ডপয়েন্ট তৈরি করার প্রক্রিয়া সাধারণত কিছু গুরুত্বপূর্ণ ধাপ অনুসরণ করে করা হয়। এখানে আমরা দেখব কীভাবে একটি GraphQL API তৈরি করা যায় এবং প্রথম এন্ডপয়েন্ট তৈরি করা যায়। এটি করার জন্য আপনাকে প্রথমে একটি সার্ভার সেটআপ করতে হবে এবং তারপর GraphQL স্কিমা (Schema) তৈরি করতে হবে।


GraphQL API এন্ডপয়েন্ট তৈরি করার ধাপসমূহ

সার্ভার সেটআপ

গ্রাফকিউএল API সেটআপ করতে হলে প্রথমে একটি সার্ভার তৈরি করতে হবে। এখানে আমরা Node.js এবং Express ফ্রেমওয়ার্ক ব্যবহার করব। এর জন্য Apollo Server নামক একটি জনপ্রিয় লাইব্রেরি ব্যবহার করা হবে।

প্রথমে প্রয়োজনীয় প্যাকেজ ইনস্টল করা:

npm init -y
npm install express apollo-server-express graphql

এখানে আমরা express (একটি ওয়েব ফ্রেমওয়ার্ক), apollo-server-express (GraphQL API সার্ভার তৈরি করার জন্য), এবং graphql (GraphQL লাইব্রেরি) প্যাকেজগুলো ইনস্টল করব।

সার্ভার কনফিগারেশন

এখন আমাদের সার্ভার সেটআপ করতে হবে। নিচে একটি সহজ সার্ভারের উদাহরণ দেওয়া হল:

const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');

// GraphQL স্কিমা তৈরি করা
const typeDefs = gql`
  type Query {
    hello: String
  }
`;

// Resolver তৈরি করা
const resolvers = {
  Query: {
    hello: () => 'হ্যালো, গ্রাফকিউএল!',
  },
};

// ApolloServer তৈরি করা
const server = new ApolloServer({ typeDefs, resolvers });

const app = express();

// ApolloServer কে Express অ্যাপের সাথে যুক্ত করা
server.applyMiddleware({ app });

// সার্ভার চলানোর জন্য পোর্ট সেট করা
app.listen({ port: 4000 }, () =>
  console.log(`সার্ভার চলমান আছে: http://localhost:4000${server.graphqlPath}`)
);

এই কোডের মাধ্যমে আপনি একটি সহজ GraphQL API তৈরি করবেন যা hello নামক একটি প্রশ্ন (Query) গ্রহণ করে এবং এর মাধ্যমে একটি স্ট্রিং হ্যালো, গ্রাফকিউএল! ফেরত পাঠায়।


GraphQL API এর প্রথম এন্ডপয়েন্ট তৈরি

এখন যে স্কিমা এবং রেজলভার তৈরি করেছেন তা কার্যকরী করার জন্য একটি API এন্ডপয়েন্ট তৈরি করতে হবে। সাধারণত, GraphQL API তে একটি single endpoint থাকে, যেমন /graphql। এই এন্ডপয়েন্টে সমস্ত কুয়েরি বা মিউটেশন পাঠানো হয়।

আমরা যেহেতু Apollo Server ব্যবহার করছি, এটি সরাসরি /graphql এন্ডপয়েন্ট দিয়ে কুয়েরি গ্রহণ করে। এই ক্ষেত্রে, server.applyMiddleware() মেথডটি আমাদের এন্ডপয়েন্ট সেট আপ করে দেয়।


GraphQL স্কিমা ও কুয়েরি

GraphQL স্কিমা (Schema):
GraphQL API এর প্রথম অংশ হল স্কিমা তৈরি করা। এটি একটি ডাটা টাইপ ডিফিনিশন যা API এর কুয়েরি বা মিউটেশন কীভাবে কাজ করবে তা নির্ধারণ করে। স্কিমা types (টাইপ), queries (কুয়েরি), এবং mutations (মিউটেশন) সহ সমস্ত কাঠামো বর্ণনা করে।

এখানে একটি সহজ স্কিমা উদাহরণ দেওয়া হয়েছে:

type Query {
  hello: String
}

এই স্কিমাতে Query টাইপ রয়েছে এবং তার ভিতরে hello নামে একটি কুয়েরি রয়েছে যেটি একটি স্ট্রিং রিটার্ন করবে।

Resolvers:
Resolvers হল ফাংশন যা কুয়েরি বা মিউটেশন পাঠানোর পর ডেটা ফেরত নিয়ে আসে। আমাদের উদাহরণে hello কুয়েরির জন্য একটি সিম্পল রেজলভার দেওয়া হয়েছে:

const resolvers = {
  Query: {
    hello: () => 'হ্যালো, গ্রাফকিউএল!',
  },
};

এখানে, যখন ক্লায়েন্ট /graphql এন্ডপয়েন্টে hello কুয়েরি পাঠাবে, তখন এটি এই রেজলভার দ্বারা ফেরত আসবে।


সার্ভার চালু করা

একবার কোড লিখে ফেললে, সার্ভার চালু করা খুব সহজ:

node index.js

এটি চালানোর পর, আপনি ব্রাউজারে গিয়ে http://localhost:4000/graphql এ যেতে পারেন এবং সেখানে GraphQL Playground ব্যবহার করে কুয়েরি পাঠাতে পারেন।

উদাহরণস্বরূপ, আপনি নিম্নলিখিত কুয়েরিটি পাঠাতে পারেন:

{
  hello
}

এই কুয়েরি সার্ভারের hello রেজলভারকে কল করবে এবং হ্যালো, গ্রাফকিউএল! স্ট্রিংটি ফিরিয়ে দেবে।


সারাংশ

গ্রাফকিউএল (GraphQL) এর জন্য প্রথম API এন্ডপয়েন্ট তৈরি করতে, প্রথমে একটি সার্ভার সেটআপ করতে হবে, এরপর একটি স্কিমা তৈরি করতে হবে যেখানে কুয়েরি এবং রেজলভার উল্লেখ থাকবে। তারপরে সেই স্কিমা ও রেজলভার ব্যবহার করে Apollo Server তৈরি করে একক /graphql এন্ডপয়েন্ট তৈরি করতে হবে। একবার সেটআপ হয়ে গেলে, আপনি ব্রাউজার বা কন্সোলের মাধ্যমে কুয়েরি পাঠিয়ে সিস্টেমে ডেটা পরীক্ষা করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...