Flask-SQLAlchemy ব্যবহার করে REST API তৈরি করার জন্য, প্রথমে কিছু প্রাথমিক প্রস্তুতি নিন। Flask একটি লাইটওয়েট ওয়েব ফ্রেমওয়ার্ক এবং SQLAlchemy একটি ORM (Object Relational Mapping) টুল, যা ডাটাবেসের সাথে কাজ করতে সহজ করে তোলে।
প্রয়োজনীয় প্যাকেজ ইনস্টল করা
প্রথমে Flask এবং Flask-SQLAlchemy ইনস্টল করতে হবে:
pip install flask flask_sqlalchemy
Flask অ্যাপ্লিকেশন তৈরি করা
এখন একটি সিম্পল Flask অ্যাপ্লিকেশন তৈরি করি, যা SQLAlchemy ব্যবহার করে ডাটাবেস সংযোগ করবে এবং REST API রাউট তৈরি করবে।
from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' # SQLite ডাটাবেস ব্যবহার করছি
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
# ডাটাবেস মডেল তৈরি
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f"<User {self.name}>"
# ডাটাবেস তৈরি
@app.before_first_request
def create_tables():
db.create_all()
# রাউট: সকল ব্যবহারকারী দেখানো
@app.route('/users', methods=['GET'])
def get_users():
users = User.query.all()
return jsonify([{'id': user.id, 'name': user.name, 'email': user.email} for user in users])
# রাউট: নতুন ব্যবহারকারী তৈরি করা
@app.route('/users', methods=['POST'])
def add_user():
data = request.get_json()
new_user = User(name=data['name'], email=data['email'])
db.session.add(new_user)
db.session.commit()
return jsonify({'message': 'User created'}), 201
# রাউট: নির্দিষ্ট ব্যবহারকারী দেখানো
@app.route('/users/<int:id>', methods=['GET'])
def get_user(id):
user = User.query.get_or_404(id)
return jsonify({'id': user.id, 'name': user.name, 'email': user.email})
# রাউট: ব্যবহারকারী আপডেট করা
@app.route('/users/<int:id>', methods=['PUT'])
def update_user(id):
user = User.query.get_or_404(id)
data = request.get_json()
user.name = data['name']
user.email = data['email']
db.session.commit()
return jsonify({'message': 'User updated'})
# রাউট: ব্যবহারকারী মুছে ফেলা
@app.route('/users/<int:id>', methods=['DELETE'])
def delete_user(id):
user = User.query.get_or_404(id)
db.session.delete(user)
db.session.commit()
return jsonify({'message': 'User deleted'})
if __name__ == '__main__':
app.run(debug=True)
API এর ব্যাখ্যা
- GET /users: সকল ব্যবহারকারীর তথ্য দেখাবে।
- POST /users: নতুন ব্যবহারকারী তৈরি করবে।
- GET /users/: নির্দিষ্ট ব্যবহারকারীর তথ্য দেখাবে।
- PUT /users/: নির্দিষ্ট ব্যবহারকারীর তথ্য আপডেট করবে।
- DELETE /users/: নির্দিষ্ট ব্যবহারকারী মুছে ফেলবে।
অ্যাপ্লিকেশন চালানো
অ্যাপ্লিকেশনটি চালাতে:
python app.py
এখন আপনি localhost:5000-এ API অ্যাক্সেস করতে পারবেন।
সারাংশ
এভাবে, Flask-SQLAlchemy ব্যবহার করে আপনি সহজেই REST API তৈরি করতে পারেন। এই API বিভিন্ন HTTP মেথড যেমন GET, POST, PUT, DELETE এর মাধ্যমে ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করে।
Read more