Utilisez uv pour créer rapidement des applications FastAPI
Les étapes suivantes montrent comment utiliser l'outil uv pour créer rapidement une application FastAPI simple contenant des requêtes GET et POST :
Projet d'initialisation :
<code class="language-bash">uv init uv add fastapi --extra standard</code>
Créer des répertoires et des fichiers de projet :
Créez un dossier nommé /app
et ajoutez-y deux fichiers __init__.py
et main.py
.
Écrivez le code FastAPI (main.py) :
Copiez le code suivant dans le fichier main.py
:
<code class="language-python">from typing import Union from pydantic import BaseModel from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from datetime import datetime app = FastAPI() # 注意:生产环境中不要使用"*",请替换为你的允许域名 origins = [ "*", ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) class Stuff(BaseModel): content: str @app.get("/") def read_root(): return {"Message": "Hello World! FastAPI is working."} @app.post("/getdata/") async def create_secret(payload: Stuff): with open('output_file.txt', 'a') as f: now = datetime.now() formatted_date = now.strftime("%B %d, %Y at %I:%M %p") f.write(formatted_date + ": " + payload.content) f.write('\n') return payload.content</code>
Exécuter l'application FastAPI :
<code class="language-bash">uv run fastapi dev</code>
Cela démarrera le serveur de développement. Vous pouvez tester les requêtes GET en accédant à http://127.0.0.1:8000
et envoyer des données au point de terminaison /getdata/
à l'aide de requêtes POST.
Pour plus de tutoriels FastAPI, veuillez vous référer à la documentation officielle : https://www.php.cn/link/b446e7f68f7a79f9de9d9f9ee9b764e8
Cet exemple montre une simple API GET et POST. Le point de terminaison /getdata/
recevra le champ content
dans la requête POST et ajoutera le contenu au fichier output_file.txt
, en enregistrant l'horodatage. *Veuillez noter : dans un environnement de production, `origins = [""]` n'est pas sûr et doit être remplacé par votre liste de noms de domaine autorisés. **
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!