Path এবং Query Parameters ব্যবস্থাপনা

Web Development - ফাস্টএপিআই (FastAPI) - FastAPI এর বেসিক কনফিগারেশন
223

FastAPI তে Path Parameters এবং Query Parameters ব্যবহার করা খুবই সহজ। এদের মাধ্যমে আপনি URL-এর অংশ হিসেবে ডাটা গ্রহণ (Path Parameters) বা URL এর শেষে কোয়েরি স্ট্রিং (Query Parameters) ব্যবহার করে ডাটা পাঠাতে পারেন।


Path Parameters ব্যবস্থাপনা

Path Parameters হল URL-এর মধ্যে {} ব্র্যাকেটের মধ্যে প্যারামিটার পাঠানো। এটি ডাইনামিক রাউটিংয়ের জন্য ব্যবহার করা হয়।

Path Parameter উদাহরণ:

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
def read_item(item_id: int):
    return {"item_id": item_id}

এখানে, item_id হল একটি Path Parameter, যা URL থেকে গ্রহণ করা হয়।

রিকোয়েস্ট উদাহরণ:

GET /items/123

রেসপন্স:

{
  "item_id": 123
}

Query Parameters ব্যবস্থাপনা

Query Parameters URL-এর শেষে ? দিয়ে শুরু হয়ে & দিয়ে আলাদা করা প্যারামিটার পাঠানো হয়। এগুলি ঐচ্ছিক এবং URL-এ যোগ করা হয়, যেমন /items?q=example&limit=5

Query Parameter উদাহরণ:

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/")
def read_items(q: str = None, limit: int = 10):
    return {"query": q, "limit": limit}

এখানে, q এবং limit হল Query Parameters। q ঐচ্ছিক এবং limit এর ডিফল্ট মান 10

রিকোয়েস্ট উদাহরণ:

GET /items/?q=fastapi&limit=5

রেসপন্স:

{
  "query": "fastapi",
  "limit": 5
}

Path এবং Query Parameters একসাথে ব্যবহারের উদাহরণ

FastAPI-তে Path Parameters এবং Query Parameters একসাথে ব্যবহার করা যায়। Path Parameters URL এর অংশ হিসেবে এবং Query Parameters URL এর শেষে আসবে।

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "query": q}

এখানে item_id হল Path Parameter এবং q হল Query Parameter।

রিকোয়েস্ট উদাহরণ:

GET /items/123?q=example

রেসপন্স:

{
  "item_id": 123,
  "query": "example"
}

Path Parameters এর টাইপ কাস্টমাইজেশন

FastAPI এর সাহায্যে Path Parameters এর ডাটা টাইপ কাস্টমাইজ করা যায়। যেমন, আপনি সংখ্যা (int), স্ট্রিং (str), এবং অন্যান্য টাইপ ব্যবহার করতে পারেন।

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
def read_item(item_id: int):
    return {"item_id": item_id}

এখানে, item_id একটি int টাইপ, FastAPI এটি স্বয়ংক্রিয়ভাবে যাচাই করবে।

রিকোয়েস্ট উদাহরণ:

GET /items/123

রেসপন্স:

{
  "item_id": 123
}

এছাড়া আপনি float, str, bool এবং অন্যান্য টাইপও ব্যবহার করতে পারেন।


Required Query Parameters

Query Parameters সাধারণত ঐচ্ছিক হয়, তবে আপনি তাদের required (অবশ্যই থাকা উচিত) করতে পারেন।

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/")
def read_item(q: str):
    return {"query": q}

এখানে, q একটি required Query Parameter। যদি আপনি q পাঠান না, FastAPI আপনাকে ত্রুটি দেখাবে।

রিকোয়েস্ট উদাহরণ:

GET /items/?q=example

রেসপন্স:

{
  "query": "example"
}

Query Parameter Default Value

Query Parameters এর জন্য আপনি ডিফল্ট মান নির্ধারণ করতে পারেন। এটি ব্যবহারকারী যদি কোন প্যারামিটার না পাঠায়, তখন ডিফল্ট মান ব্যবহার করা হবে।

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/")
def read_items(q: str = "default"):
    return {"query": q}

এখানে, যদি q পাঠানো না হয়, তবে "default" মান ব্যবহার হবে।

রিকোয়েস্ট উদাহরণ:

GET /items/ (Query Parameter না পাঠানো হলে)

রেসপন্স:

{
  "query": "default"
}

Validation and Constraints on Query Parameters

FastAPI-এর মাধ্যমে আপনি Query Parameters এর জন্য validation এবং constraints (সীমাবদ্ধতা) নির্ধারণ করতে পারেন।

from fastapi import FastAPI
from pydantic import conint

app = FastAPI()

@app.get("/items/")
def read_items(skip: int = 0, limit: conint(ge=1, le=100) = 10):
    return {"skip": skip, "limit": limit}

এখানে, limit Query Parameter এর জন্য 1 থেকে 100 এর মধ্যে একটি মান থাকতে হবে। conint(ge=1, le=100) এর মাধ্যমে এই সিমান্ত নির্ধারণ করা হয়েছে।

রিকোয়েস্ট উদাহরণ:

GET /items/?limit=50

রেসপন্স:

{
  "skip": 0,
  "limit": 50
}

FastAPI-তে Path Parameters এবং Query Parameters ব্যবস্থাপনা সহজ এবং শক্তিশালী। Path Parameters URL-এর অংশ হিসেবে ডাটা গ্রহণ করে, আর Query Parameters URL এর শেষে অতিরিক্ত ডাটা পাঠানোর জন্য ব্যবহার করা হয়। FastAPI এই প্যারামিটারগুলির জন্য স্বয়ংক্রিয়ভাবে ডাটা টাইপ যাচাই, ডিফল্ট মান এবং সিমান্ত কনফিগারেশন সহ একটি শক্তিশালী সমাধান সরবরাহ করে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...