FastApi 404 Not Found

Merhabalar, fastapi ile bir api yazmaya çalışıyorum ve kodlarım aşağıdaki şekilde ancak bunu çalıştırıdğım zaman 404 Not Found hatası alıyorum. Ne yapmam lazım?

dB: List[User] = [

    User(  

        accountNumber= 1234567891011123,

        currencyCode= CurrencyCode.TRY,

        ownerName= "deneme",

        accountType= AccountType.individual,

        balance= 100

    ),

    User(

        accountNumber= 1234567891011214,

        currencyCode= CurrencyCode.USD,

        ownerName= "deneme2",

        accountType= AccountType.individual,

        balance= 100

    ),

]

@app.get("/account/{user.accountNumber}")

async def fetch_user(accountNumber:User):

    for user in dB:

        if user.accountNumber == accountNumber.accountNumber:

           return {user.accountNumber, user.currencyCode, user.ownerName, user.accountType, user.balance};

    raise HTTPException(

        status_code=404,

        detail=f"user with id: {accountNumber.accountNumber} does not exists"

    )

Soru sorarken sikca yapilan hatalar #1

Uyardığın için teşekkür ederim. Bundan sonra daha dikkatli olmaya çalışacağım.

2 Beğeni
@app.get("/account/{accountNumber}")

async def fetch_user(accountNumber):

    accountNumber = 1234567891011214

    for user in dB:

        if user.accountNumber == accountNumber:

           return {"account number":user.accountNumber, "currency code":user.currencyCode, "owner name":user.ownerName, "account type":user.accountType, "balance":user.balance};

    raise HTTPException(

        status_code=404,

        detail=f"user with id: {accountNumber} does not exists"

    )

arkadaşlar böyle bir düzeltme yaptım çözüme yaklaştım gibi hissediyorum. İlk paylaştığım kodda sorun muhtemelen dB List kısmını okuyup unutması. Burada accountNumber’ı koda gömdüğüm zaman bir sonuç elde edebiliyorum, artık tek problem User’ın içerisinden nasıl alacağım.

@app.get("/account/{accountNumber}")

async def fetch_user(accountNumber: int):


    for user in dB:

        if user.accountNumber == accountNumber:

           return {"account number":user.accountNumber, "currency code":user.currencyCode, "owner name":user.ownerName, "account type":user.accountType, "balance":user.balance};

    raise HTTPException(

        status_code=404,

        detail=f"user with id: {accountNumber} does not exists"

    )

ufak bir değişiklik ile sorun çözülmüş oldu.