Flask এবং FastAPI হল Python-এ REST API তৈরি করার জন্য দুটি জনপ্রিয় ফ্রেমওয়ার্ক। Flask একটি মাইক্রো ফ্রেমওয়ার্ক যা সহজে ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়, এবং FastAPI একটি দ্রুত এবং আধুনিক ফ্রেমওয়ার্ক যা টাইপ হিন্টিং এবং অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং সমর্থন করে। এখানে Flask এবং FastAPI ব্যবহার করে কীভাবে একটি REST API তৈরি করা যায় তা দেখানো হবে।
১. Flask দিয়ে REST API তৈরি
Flask হল একটি মাইক্রো ফ্রেমওয়ার্ক, যার মধ্যে কোনো নির্দিষ্ট টেমপ্লেট বা ডাটাবেস সমর্থন নেই। তবে এটি অত্যন্ত নমনীয় এবং ছোট প্রোজেক্টের জন্য খুবই উপযোগী।
Flask REST API তৈরি করার জন্য ধাপগুলো:
Flask ইনস্টল করা: প্রথমে Flask ইনস্টল করতে হবে। এটি
pipদিয়ে ইনস্টল করা যায়:pip install FlaskFlask অ্যাপ্লিকেশন তৈরি: একটি ফাইল তৈরি করুন, যেমন
app.py, এবং নিচের কোডটি লিখুন:from flask import Flask, jsonify app = Flask(__name__) @app.route('/api', methods=['GET']) def get_data(): data = { 'message': 'Hello, this is a REST API endpoint!' } return jsonify(data) if __name__ == '__main__': app.run(debug=True)Flask অ্যাপ্লিকেশন চালানো: এই কোডটি চালানোর পর, Flask সার্ভার চালু হবে এবং আপনি API রিকোয়েস্ট পাঠাতে পারবেন।
python app.pyAPI রিকোয়েস্ট করা: ব্রাউজারে বা Postman ব্যবহার করে
http://127.0.0.1:5000/apiURL তে GET রিকোয়েস্ট পাঠান এবং আপনি নিচের JSON রেসপন্স পাবেন:{ "message": "Hello, this is a REST API endpoint!" }
২. FastAPI দিয়ে REST API তৈরি
FastAPI একটি আধুনিক এবং দ্রুত ফ্রেমওয়ার্ক যা Python 3.7+ এর জন্য তৈরি করা হয়েছে এবং type hints ব্যবহার করে। এটি দ্রুত এবং সহজ API ডেভেলপমেন্টের জন্য ডিজাইন করা হয়েছে, এবং এটি asynchronous ফিচার সমর্থন করে।
FastAPI REST API তৈরি করার জন্য ধাপগুলো:
FastAPI ইনস্টল করা: প্রথমে FastAPI এবং
uvicorn(যা FastAPI সার্ভার চালাতে সহায়ক) ইনস্টল করতে হবে:pip install fastapi uvicornFastAPI অ্যাপ্লিকেশন তৈরি: একটি ফাইল তৈরি করুন, যেমন
main.py, এবং নিচের কোডটি লিখুন:from fastapi import FastAPI app = FastAPI() @app.get("/api") async def read_root(): return {"message": "Hello, this is a REST API endpoint from FastAPI!"}FastAPI অ্যাপ্লিকেশন চালানো: FastAPI অ্যাপ্লিকেশন চালাতে
uvicornব্যবহার করতে হবে। এটি সার্ভার চালাবে এবং API রিকোয়েস্টগুলো হ্যান্ডেল করবে:uvicorn main:app --reloadAPI রিকোয়েস্ট করা: ব্রাউজারে বা Postman ব্যবহার করে
http://127.0.0.1:8000/apiURL তে GET রিকোয়েস্ট পাঠান এবং আপনি নিচের JSON রেসপন্স পাবেন:{ "message": "Hello, this is a REST API endpoint from FastAPI!" }
Flask এবং FastAPI এর মধ্যে পার্থক্য
| ফিচার | Flask | FastAPI |
|---|---|---|
| Performance | সাধারণত স্লো, তবে দ্রুত অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয় | দ্রুত এবং আধুনিক, asynchronous সমর্থন |
| Asynchronous Support | সঠিক asynchronous সমর্থন নেই | স্বাভাবিকভাবে asynchronous সমর্থন |
| Type Hints | সমর্থন নেই | সম্পূর্ণ টাইপ হিন্টিং সমর্থন |
| API Documentation | কাস্টম API ডকুমেন্টেশন তৈরি করা প্রয়োজন | auto-generated OpenAPI ডকুমেন্টেশন |
| Learning Curve | খুবই সহজ এবং দ্রুত শেখার জন্য উপযুক্ত | নতুনদের জন্য কিছুটা কঠিন, তবে দ্রুত কার্যকরী |
সারাংশ
- Flask এবং FastAPI দুটি খুবই জনপ্রিয় Python ফ্রেমওয়ার্ক যা REST API তৈরি করতে ব্যবহৃত হয়। Flask খুবই সহজ এবং ছোট প্রোজেক্টের জন্য উপযুক্ত, তবে FastAPI একটি আধুনিক ফ্রেমওয়ার্ক যা দ্রুত এবং কার্যকরী API তৈরি করতে সহায়ক, বিশেষ করে asynchronous programming এবং type hints এর সাথে।
- Flask সাধারণত ছোট ও কম জটিল API গুলির জন্য ব্যবহৃত হয়, কিন্তু FastAPI আরো দ্রুত, উচ্চ কার্যকারিতা সম্পন্ন এবং বড় প্রোজেক্টের জন্য উপযুক্ত।
Read more