Quoi qu'il en soit, pour le moment, définissez la forme de la réponse de l'API sur l'écran swagger de l'API Fast, Articles pour ceux qui veulent voir des exemples de réponses.
J'étais comme ça, mais je n'ai pas trouvé un tel article ou blog, Pour le moment, j'ai parcouru le tutoriel officiel de fastapi. Je l'ai écrit dans l'espoir que cela aiderait quelqu'un avec le même objectif.
――Supposons que ce type de données soit renvoyé en réponse.
{
"Special_choco1": {
"Milk": "many",
"Quantity": 5,
"Cacao": "a little"
},
"Store":[
{
"Tokyo": "sibuya",
"Hokkaido": "sapporo",
"Osaka": "nanba"
}
]
}
La version FastAPI est 0.52.0
Ecrire dans main.py Écrivez dans un fichier qui écrit app = FastAPI ().
-Je suis sûr qu'il existe une autre meilleure façon de l'écrire.
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List
class choco_model(BaseModel):
Milk: str
Quantity: int
Cacao: str
class Store_model(BaseModel):
Tokyo: str
Hokkaido: str
Osaka: str
class Special_choco(BaseModel):
Special_choco1: choco_model
Store: List[Store_model]
app = FastAPI()
@app.get("/api/v1/chocolate/{name}")
async def making_choco(name: str):
return #Omis. Une image d'écriture de quelque chose qui semble changer le JSON décrit dans la prémisse.
Spécifiez le modèle que vous souhaitez définir dans response_model au niveau du décorateur. Ensuite, il sera affiché dans l'exemple de valeur de swagger.
#Omission)
app = FastAPI()
@app.get("/api/v1/chocolate/{name}", response_model=Special_choco)
async def making_choco(name: str):
return #Omis. Une image d'écriture de quelque chose qui semble changer le JSON décrit dans la prémisse.
Comme ça.
Pour afficher non seulement le type et la structure des données, mais également le type de valeur renvoyée Décrivez les données que vous souhaitez afficher dans la partie définition de la classe Config comme suit. Ensuite, la valeur concrète sera affichée dans la colonne de valeur d'exemple.
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List
class choco_model(BaseModel):
Milk: str
Quantity: int
Cacao: str
class Config:
schema_extra = {
"example": {
"Milk": "very lot",
"Quantity": 10,
"Cacao": "many",
}
}
class Store_model(BaseModel):
Tokyo: str
Hokkaido: str
Osaka: str
class Config:
schema_extra = {
"example": {
"Tokyo": "shibuya",
"Hokkaido": "sapporo",
"Osaka": "nishinari",
}
}
#Omission
Il est affiché comme suit.
tutoriel officiel fastapi a beaucoup de volume, mais il est bon de le faire.