Kodeloka
  1. Kodeloka
  2. Kelas FastAPI
  3. Materi

Dasar & Frontend ยท Modul 3 dari 24

Path Parameters & Type Hints

Mengambil variabel dari URL path (/posts/{post_id}), konversi tipe otomatis (int, str), dan penanganan Error 422.

๐ŸŽฏ Poin-Poin Utama Modul Ini:
  • Path Parameters mengekstrak nilai langsung dari segmen rute URL
  • Type hinting post_id: int membuat FastAPI mengonversi input string menjadi integer secara otomatis
  • Validasi otomatis mencegah error runtime akibat tipe data yang salah

๐Ÿ” Parameter Rute (Path Parameters)

Path parameters digunakan ketika Anda ingin mengekstrak ID unik atau slug dari segmen URL seperti /posts/101.

Konversi Tipe Data Otomatis: Jika rute mendefinisikan post_id: int, FastAPI akan membaca string "101" dari HTTP Request URL dan mengonversinya menjadi integer Python mentah 101 secara otomatis!

๐Ÿ’ป Kode Path Parameters & Enum Validation

main.py
from enum import Enum
from fastapi import FastAPI, Path

class ModelName(str, Enum):
    alexnet = "alexnet"
    resnet = "resnet"
    lenet = "lenet"

app = FastAPI()

@app.get("/models/{model_name}")
def get_model(model_name: ModelName):
    if model_name is ModelName.alexnet:
        return {"model_name": model_name, "message": "Deep Learning Classic!"}
    return {"model_name": model_name, "message": "Model Terdaftar"}

@app.get("/posts/{post_id}")
def get_post_by_id(post_id: int = Path(..., gt=0, description="ID harus integer positif")):
    return {"post_id": post_id, "status": "Active"}