如何使用Pydantic库在FastAPI中返回硬编码JSON

2024-04-29 03:32:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经准备好了fastAPI,但每次刷新数据都会丢失。有没有什么方法可以代替POST或任何类型的数据库来硬编码我的数据

这是我的main.py文件

from fastapi import FastAPI

from pydantic import BaseModel
from typing import List

app=FastAPI()
db = []


class Member(BaseModel):
    name: str 
    age: int 


class Club(BaseModel):
    club_name: str
    club_address: str
    club_members: List[Member]


class City(BaseModel):
    clubs: List[Club]

class ClubList(BaseModel):
    lst : List[City]




@app.get('/info')
def get_info():
    return db


@app.post('/cities')
def create_info(city: ClubList):
    db.append(city)
    return db[-1]


我需要一个JSON响应,如下所示:

[{
"lst":
    [{"clubs":[
        {
            "club_name":"Ivy",
            "club_address":"Longpipe road",
            "club_members":[
                {
                    "name":"peter",
                    "age":30
                    }
                ]
            }
        ]
    }
    ]
}]

我找不到任何可以用Pydantic库实现这一点的例子


Tags: 数据namefromimportinfoappdbage