JSON Server দিয়ে রেস্ট এপিআই (REST API) তৈরির পদ্ধতি


ফ্রন্টেন্ড ডেভেলপারদের প্রতিনিয়ত ব্যাকেন্ডে করা REST API থেকে json ফরম্যাটের ডাটা নিয়ে কাজ করতে হয় এবং ফন্টেন্ড অ্যাপ্লিকেশন ঠিকঠাক কাজ করছে কিনা তা চেক হয় ।

আমরা সম্পূর্ণ ব্যাকেন্ড সার্ভার তৈরি করে ফেলতে পারি যেমনঃ Node.js, Express and MongoDB দিয়ে । সেটা বেশ সময় সাপেক্ষ । আমাদের এর থেকে সহজ একটা পদ্ধতি দরকার , বিশেষত যারা শুধুমাত্র ফন্টেন্ড নিয়ে কাজ করেন তাদের জন্য ।

JSON Server একটা সাধারণ প্রজেক্ট যা ব্যবহার করে খুব দ্রুত CRUD অপারেশনসহ রেস্ট এপিআই (REST API) তৈরি করে ফেলতে পারি ।

এই পোস্টের বাকি অংশে আমরা শিখব কিভাবে JSON Server ইনস্টল করে REST API তৈরি করতে পারি । এর সাথে আরো শিখব কিভাবে faker.js দিয়ে কিভাবে কৃত্তিম তথ্য REST API তে ব্যবহার করতে পারি ।

JSON Server ইনস্টল করা 

নোড প্যাকেজ ম্যানেজার(NPM) দিয়ে আমরা JSON Server ইনস্টল করে ফেলতে পারি । এর জন্য টার্মিনালে নিচের কমান্ড চালাতে হবে ।
$ npm install -g json-server এখানে -g অপশনটা ব্যবহার করা হয়েছে গ্লোবাল ইনস্টলের জন্য

JSON ফাইল তৈরি 

db.json নামে একটা ফাইল তৈরি করা যাক যেটা আমরা রেস্ট এপিআই (REST API) এর জন্য ব্যবহার করব । JSON ফাইলে থাকা অবজেক্টগুলোর জন্য CRUD এন্ডপয়েন্ডগুলো সয়ংক্রিয়ভাবে তৈরি হয়ে যাবে । নিচে db.json ফাইলটা দেখুন ।

এই JSON স্ট্রাকচারে একটা users অবজেক্ট আছে যাতে তিনটা ডাটাসেট আছে । প্রতিটা users অবজেক্টে id, name , email এই তিনটা প্রোপার্টি আছে ।

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

db.json ফাইলটা দিয়ে এখন আমরা সার্ভার চালু করব । এজন্য নিচের কমান্ড লিখতে হবে ।
$ json-server --watch db.json এখানে --watch অপশন ব্যবহার করা হয়েছে যাতে db.json ফাইলে কোনো পরিবর্তন হলে সার্ভারেও পরিবর্তন হয় ।


এখন আমরা http://localhost:3000/ ওপেন করলে নিচের ছবির মত ফলাফল দেখাবে ।


আউটপুট থেকে আমরা দেখতে পারছি users রিসোর্স ঠিকমতো কাজ করছে । আমরা এখন users লিঙ্কে ক্লিক করে http://localhost:3000/users এ HTTP GET রিকুয়েস্ট পাঠালে নিচের মত ফলাফল দেখাবে ব্রাউজারে ।


JSON Server সয়ংক্রিয়ভাবে নিচের HTTP এন্ডপয়েন্টগুলো তৈরি করবে । GET /users GET /users/{id} POST /users PUT /users/{id} PATCH /users/{id} DELETE /users/{id} আমরা যদি এতে POST, PUT, PATCH or DELETE রিকুয়েস্ট পাঠাই তাহলে তা db.json ফাইলে সেইভ হয়ে থাকবে । POST, PUT বা PATCH রিকুয়েস্ট পাঠানোর সময় অবশ্যই রিকুয়েস্ট হেডারে Content-Type: application/json দিতে হবে । তা না করলে রেসপন্স 200 OK আসবে , JSON ডাটা পরিবর্তন হবে না ।

পোস্টম্যান (POSTMAN) দিয়ে এপিআই এন্ডপয়েন্ট (API Endpoint) পরীক্ষা

ব্রাউজার দিয়ে GET রিকুয়েস্ট পাঠানো খুব সহজ । কিন্তু অন্যান্য রিকুয়েস্ট পাঠানোর জন্য আমাদের HTTP ক্লায়েন্ট টুল পোস্টম্যান (POSTMAN) ব্যবহার করতে হবে । পোস্টুম্যান (POSTMAN) সাইটের লিঙ্কঃ https://www.getpostman.com/ । উইন্ডোজ , লিনাক্স , ম্যাক সব প্লাটফর্মেই ব্যবহার করতে পারবেন । উবুন্টুতে পোস্টম্যান (POSTMAN) ইনস্টলে নিয়ম দেখুন এখানেঃ http://blog.monirulalom.com/2018/06/postman.html

GET রিকুয়েস্ট

পোস্টম্যান (POSTMAN) ইনটার্ফেস ব্যবহার করা খুবই সহজ । GET রিকুয়েস্ট পাঠাতে ফর্মে ইউয়ারএল ( http://localhost:3000/users ) লিখে SEND বাটনে ক্লিক করলে JSON ফরম্যাটে রেসপন্স আসবে , নিচের স্ক্রীনশট দেখুন ।


DELETE রিকুয়েস্ট

অপশন থেকে DELETE সিলেক্ট করে http://localhost:3000/users/1 এ DELETE রিকুয়েস্ট পাঠানোর পর ফলাফল নিচের স্ক্রীনশটের মত হবে ।


POST রিকুয়েস্ট

নতুন JSON অবজেক্ট অ্যাড করার জন্য আমাদের POST রিকুয়েস্ট পাঠাতে হবে । এর জন্য অপশন থেকে POST সিলেক্ট করতে হবে এবং body তে JSON অবজেক্ট দিয়ে POST রিকুয়েস্ট পাঠাতে হবে । নিচের স্ক্রীনশট দেখুন ।

PUT রিকুয়েস্ট

কোনো users রেকর্ড আপডেট/পরিবর্তন করতে চাইলে HTTP PUT রিকুয়েস্ট পাঠাতে হবে । http://localhost:3000/users/3 এ PUT রিকুয়েস্ট পাঠানোর পর ফলাফল দেখুন স্ক্রীনশটে ।


faker.js দিয়ে কৃত্তিম তথ্য তৈরি

এতক্ষণ আমরা ম্যানুয়ালি তৈরি করা JSON ফাইল নিয়ে কাজ করলাম । মাঝেমধ্যেই আমাদের অনেক তথ্য নিয়ে কাজ করার প্রয়োজন হতে পারে যা ম্যানুয়ালি তৈরি করা ঝামেলার এবং অনেক সময়ের ব্যাপার । এর সহজ সমাধান হচ্ছে faker.js (https://github.com/marak/Faker.js/) ব্যবহার করে কৃত্তিম তথ্য তৈরি করা । JSON Server এর সাথে faker.js ব্যবহার করা খুব সহজ । আপনার প্রজেক্ট ডিরেক্টরিতে faker.js ইনস্টল করতে টার্মিনালে নিচের কমান্ড লিখে এন্টার দিন । $ npm install faker --save-dev node_modules ফোল্ডারে faker.js ইনস্টল হবে । এখন users.js নামে ফাইল তৈরি করে নিচের জাভাস্ক্রিপ্ট কোডগুলো লিখুন ।

এখানে একটা অ্যারো ফাংশন আছে যা ২০ টা user অবজেক্ট তৈরি করে এবং এই ফাংশনকে মডিউল হিসেবে এক্সপোর্ট করা হয়েছে । faker.js থেকে দুইটা মেথড ব্যবহার করা হয়েছে user অবজেক্ট এর প্রোপার্টগুলো ভ্যালু সেট করার জন্য ।
  1. faker.name.findName()  -  কৃত্তিম নামের জন্য 
  2. faker.internet.email() -কৃত্তিম ইমেইলের জন্য
এখন কৃত্তিম তথ্য দিয়ে JSON Server তৈরির জন্য নিচের কমান্ড লিখুন । $ json-server users.js এভাবে আমরা খুব সহজেই 20 টা JSON অবজেক্ট দিয়ে REST API তৈরি করে ফেললাম । এখন আমরা প্রয়োজনমত অবজেক্ট বা কৃত্তিম তথ্য নিয়ে খুব সহজেই কাজ করতে পারবো।

একটি মন্তব্য পোস্ট করুন

[facebook][blogger]

Author Name

{picture#https://8.lithi.io/Nqkrg7.jpg} YOUR_PROFILE_DESCRIPTION {facebook#http://fb.com/olikhitokabbo}

যোগাযোগ ফর্ম

নাম

ইমেল *

বার্তা *

Blogger দ্বারা পরিচালিত.