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"
)
@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"
)