Flask-এ HTTP Methods ব্যবহৃত হয় ক্লায়েন্ট (ব্রাউজার বা অন্য অ্যাপ্লিকেশন) থেকে সার্ভারে রিকোয়েস্ট পাঠানোর জন্য। Flask অ্যাপ্লিকেশনে সাধারণত GET, POST, PUT, এবং DELETE মেথডগুলো ব্যবহৃত হয়। এই মেথডগুলো সাধারণভাবে RESTful API এবং ওয়েব ফর্মের মাধ্যমে ডেটা প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।
১. GET Method
GET মেথড সাধারণত তথ্য রিকোয়েস্ট করতে ব্যবহৃত হয়। এটি শুধুমাত্র ডেটা পড়ে (read) এবং সার্ভারে কোন পরিবর্তন ঘটায় না। GET রিকোয়েস্ট সাধারণত URL থেকে পাঠানো হয় এবং এটি URL-এ ডেটা পাস করতে পারে (query string এর মাধ্যমে)।
উদাহরণ:
@app.route("/user/<username>", methods=["GET"])
def get_user_profile(username):
return f"স্বাগতম {username}!"
এখানে:
- GET মেথড ব্যবহৃত হয়েছে, এবং
usernameপ্যারামিটার URL থেকে প্রাপ্ত হচ্ছে।
GET মেথড সাধারণত ব্যবহারকারীর প্রোফাইল বা অন্যান্য ডেটা দেখানোর জন্য ব্যবহৃত হয়।
GET Request Example:
URL: http://127.0.0.1:5000/user/john
এটি রেসপন্সে "স্বাগতম john!" দেখাবে।
২. POST Method
POST মেথড সাধারণত ডেটা সার্ভারে পাঠানোর জন্য ব্যবহৃত হয়। এটি ফর্ম ডেটা, JSON বা অন্য কোনও ধরনের ডেটা পাঠাতে ব্যবহৃত হয়। POST মেথড সার্ভারে ডেটা পরিবর্তন করতে পারে এবং এটি GET এর তুলনায় নিরাপদ বলে মনে করা হয় কারণ ডেটা URL-এ না গিয়ে বডিতে পাঠানো হয়।
উদাহরণ:
from flask import request
@app.route("/login", methods=["POST"])
def login():
username = request.form["username"]
password = request.form["password"]
return f"লগইন সফল, {username}!"
এখানে:
- POST মেথড ব্যবহার করা হয়েছে।
request.formথেকে ফর্ম ডেটা গ্রহণ করা হচ্ছে।
POST মেথড সাধারণত লগইন ফর্ম, রেজিস্ট্রেশন ফর্ম বা JSON ডেটা পাঠানোর জন্য ব্যবহৃত হয়।
POST Request Example:
ফর্মে username এবং password পাঠাতে হলে:
<form method="POST" action="/login">
<input type="text" name="username">
<input type="password" name="password">
<button type="submit">Login</button>
</form>
এটি সার্ভারে POST রিকোয়েস্ট পাঠাবে।
৩. PUT Method
PUT মেথড ব্যবহৃত হয় কোনো সম্পদ বা ডেটা সম্পূর্ণরূপে আপডেট করতে। সাধারণত PUT মেথড দিয়ে কোনো নির্দিষ্ট রিসোর্সের তথ্য সম্পূর্ণভাবে পরিবর্তন করা হয়।
উদাহরণ:
@app.route("/update_profile/<int:id>", methods=["PUT"])
def update_profile(id):
# ডেটা প্রক্রিয়া করুন
return f"প্রোফাইল {id} সফলভাবে আপডেট হয়েছে।"
এখানে:
- PUT মেথড ব্যবহার করা হয়েছে, এবং id প্যারামিটার URL থেকে নেওয়া হয়েছে।
- এই রাউটে PUT রিকোয়েস্ট ব্যবহার করে একটি প্রোফাইল আপডেট করা হচ্ছে।
PUT Request Example:
PUT রিকোয়েস্ট সাধারণত API এর মাধ্যমে পাঠানো হয় যেখানে ক্লায়েন্টে একটি JSON ডেটা পাঠানো হয়।
curl -X PUT -H "Content-Type: application/json" -d '{"name": "new_name"}' http://127.0.0.1:5000/update_profile/1
এটি id=1 প্রোফাইলের নাম পরিবর্তন করবে।
৪. DELETE Method
DELETE মেথড ব্যবহৃত হয় কোনো সম্পদ বা ডেটা মুছে ফেলার জন্য। এটি সাধারণত সম্পূর্ণ ডেটা বা একটি নির্দিষ্ট রিসোর্স মুছে ফেলতে ব্যবহৃত হয়।
উদাহরণ:
@app.route("/delete_user/<int:id>", methods=["DELETE"])
def delete_user(id):
# ডেটা মুছে ফেলার কোড
return f"ব্যবহারকারী {id} সফলভাবে মুছে ফেলা হয়েছে।"
এখানে:
- DELETE মেথড ব্যবহার করা হয়েছে, এবং id প্যারামিটার URL থেকে নেওয়া হয়েছে।
- এই রাউটে DELETE রিকোয়েস্ট ব্যবহার করে একটি ব্যবহারকারী মুছে ফেলা হচ্ছে।
DELETE Request Example:
DELETE রিকোয়েস্ট পাঠাতে:
curl -X DELETE http://127.0.0.1:5000/delete_user/1
এটি id=1 ব্যবহারকারীকে মুছে ফেলবে।
৫. Flask HTTP Methods Summary
| HTTP Method | ব্যবহার | পৃথক বৈশিষ্ট্য |
|---|---|---|
| GET | তথ্য পাওয়ার জন্য (retrieve) | ডেটা পড়া, কোনো পরিবর্তন না করা |
| POST | নতুন তথ্য তৈরি করা (submit data) | নতুন ডেটা সার্ভারে পাঠানো, ফর্ম ডেটা বা JSON |
| PUT | ডেটা সম্পূর্ণভাবে আপডেট করা | একটি সম্পূর্ণ রিসোর্স বা ডেটা সম্পূর্ণভাবে আপডেট করা |
| DELETE | ডেটা মুছে ফেলা | একটি রিসোর্স বা ডেটা মুছে ফেলা |
৬. Flask-এ HTTP Methods পরিচালনা
Flask-এ একাধিক HTTP মেথড পরিচালনা করতে methods প্যারামিটার ব্যবহার করা হয়। আপনি চাইলে একাধিক মেথড একসাথে ব্যবহার করতে পারেন।
উদাহরণ:
@app.route("/update", methods=["GET", "POST"])
def update():
if request.method == "GET":
return "GET রিকোয়েস্ট"
if request.method == "POST":
return "POST রিকোয়েস্ট"
এখানে:
methods=["GET", "POST"]দ্বারা GET এবং POST উভয় রিকোয়েস্ট পরিচালনা করা হয়েছে।
Flask-এ HTTP Methods ব্যবহারের মাধ্যমে আপনি অ্যাপ্লিকেশনের কার্যকারিতা এবং ডেটা পরিচালনা সহজে করতে পারেন। GET, POST, PUT, এবং DELETE মেথডগুলি RESTful API এবং ওয়েব ফর্মে ডেটা সংগ্রহ এবং প্রক্রিয়াকরণের জন্য প্রধান ভূমিকা পালন করে। Flask এর সিম্পল রাউটিং সিস্টেমের মাধ্যমে এই HTTP মেথডগুলো কার্যকরভাবে ব্যবহার করা সম্ভব।
Read more