Query এবং Path Parameters এর সাথে Type Hinting

Web Development - ফাস্টএপিআই (FastAPI) - FastAPI এর সাথে Query Parameters এবং Path Parameters
178

FastAPI-তে Query Parameters এবং Path Parameters এর সাথে Type Hinting ব্যবহার করা হয়, যা ডেভেলপারদের কোড লেখার সময় টাইপ যাচাই এবং ডকুমেন্টেশন স্বয়ংক্রিয়ভাবে তৈরি করতে সাহায্য করে। Type Hinting ব্যবহার করলে FastAPI ইনপুট ডেটার টাইপ যাচাই করে এবং এই তথ্য Swagger UI বা ReDoc-এ ডকুমেন্টেশনের অংশ হিসেবে প্রদর্শিত হয়।

এই পর্বে, আমরা FastAPI-তে Query Parameters এবং Path Parameters এর সাথে Type Hinting ব্যবহারের সুবিধা এবং উদাহরণ দেখব।


Path Parameters এর সাথে Type Hinting

Path Parameters হল URL এর অংশ, যেখানে {} ব্র্যাকেটে ডাইনামিক প্যারামিটার পাঠানো হয়। FastAPI-তে Path Parameters এর জন্য Type Hinting সহজে ব্যবহার করা যায়।

উদাহরণ: Path Parameters এর সাথে Type Hinting

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, এবং তার টাইপ হল int। FastAPI স্বয়ংক্রিয়ভাবে item_id এর টাইপ যাচাই করবে এবং নিশ্চিত করবে যে এটি একটি পূর্ণসংখ্যা (integer)।

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

GET /items/123

রেসপন্স:

{
  "item_id": 123
}

ভুল ইনপুট (যেমন স্ট্রিং):

GET /items/abc

রেসপন্স:

{
  "detail": [
    {
      "loc": ["path", "item_id"],
      "msg": "value is not a valid integer",
      "type": "type_error.integer"
    }
  ]
}

এখানে, FastAPI item_id এর টাইপ যাচাই করেছে এবং স্ট্রিং পেলে ত্রুটি দেখিয়েছে।


Query Parameters এর সাথে Type Hinting

Query Parameters হল URL এর শেষে ? দিয়ে শুরু হওয়া প্যারামিটার, যা ঐচ্ছিক এবং একাধিক প্যারামিটার পাস করা যায়।

উদাহরণ: Query Parameters এর সাথে Type Hinting

from fastapi import FastAPI

app = FastAPI()

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

এখানে:

  • q একটি str টাইপের Query Parameter এবং এটি ঐচ্ছিক (Optional)।
  • limit একটি int টাইপের Query Parameter এবং এর ডিফল্ট মান 10

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

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

রেসপন্স:

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

রিকোয়েস্ট উদাহরণ (Query Parameter না পাঠালে):

GET /items/

রেসপন্স:

{
  "query": null,
  "limit": 10
}

এখানে, যদি q পাঠানো না হয় তবে তার ডিফল্ট মান None হবে এবং limit এর ডিফল্ট মান 10 হবে।


Path এবং Query Parameters একত্রে Type Hinting সহ ব্যবহার

FastAPI তে Path Parameters এবং Query Parameters একসাথে ব্যবহার করতে পারেন, এবং প্রতিটি প্যারামিটার জন্য টাইপ হিন্টিংও করতে পারেন।

উদাহরণ: Path এবং Query Parameters একত্রে

from fastapi import FastAPI

app = FastAPI()

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

এখানে:

  • item_id হলো Path Parameter এবং এর টাইপ int
  • q হলো Query Parameter এবং এর টাইপ str
  • limit হলো Query Parameter এবং এর টাইপ int

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

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

রেসপন্স:

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

Type Validation এবং Constraints (সীমাবদ্ধতা)

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

উদাহরণ: Validation এবং Constraints সহ Path এবং Query Parameters

from fastapi import FastAPI, Path, Query

app = FastAPI()

@app.get("/items/{item_id}")
def read_item(item_id: int = Path(..., gt=0), q: str = Query(..., min_length=3, max_length=50)):
    return {"item_id": item_id, "query": q}

এখানে:

  • item_id একটি Path Parameter যা gt=0 constraint দ্বারা যাচাই করা হয়েছে, মানে এটি ০ এর বেশি হতে হবে।
  • q একটি Query Parameter যা min_length=3 এবং max_length=50 constraints দ্বারা যাচাই করা হয়েছে, মানে এটি ৩ থেকে ৫০ অক্ষরের মধ্যে হতে হবে।

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

GET /items/123?q=fastapi

রেসপন্স:

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

রিকোয়েস্ট উদাহরণ (ত্রুটি, যদি q ছোট হয়):

GET /items/123?q=f

রেসপন্স (ত্রুটি):

{
  "detail": [
    {
      "loc": ["query", "q"],
      "msg": "ensure this value has at least 3 characters",
      "type": "value_error.string.min_length"
    }
  ]
}

এখানে, q parameter এর জন্য min_length=3 ভ্যালিডেশন ব্যবহৃত হয়েছে, এবং যদি এটি ৩ অক্ষরের কম হয় তবে FastAPI ত্রুটি দেখাবে।


FastAPI তে Path Parameters এবং Query Parameters এর সাথে Type Hinting ব্যবহারে ডাটার টাইপ এবং ভ্যালিডেশন অত্যন্ত সহজে নিশ্চিত করা যায়। এর মাধ্যমে আপনি একটি পরিষ্কার এবং শক্তিশালী API তৈরি করতে পারেন। Type Hinting ব্যবহার করলে ডকুমেন্টেশন স্বয়ংক্রিয়ভাবে তৈরি হয় এবং ডেভেলপাররা সহজেই জানে কোন প্যারামিটার কী টাইপের হতে হবে। FastAPI স্বয়ংক্রিয়ভাবে প্যারামিটার যাচাই করে এবং ত্রুটি জানিয়ে দেয়, যা ডেভেলপমেন্টকে দ্রুত এবং নির্ভুল করে তোলে।

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

Are you sure to start over?

Loading...