Comment gérer la requête POST dans FastAPI et renvoyer la réponse JSON

WBOY
Libérer: 2023-07-29 15:08:01
original
5083 Les gens l'ont consulté

Comment gérer les requêtes POST et renvoyer les réponses JSON dans FastAPI

FastAPI est un framework Web rapide (hautes performances), facile à utiliser et moderne basé sur des astuces de type Python standard. Il dispose d’un fort support asynchrone et peut facilement gérer des situations de concurrence élevée. Dans FastAPI, nous pouvons utiliser un code concis pour gérer les requêtes POST et renvoyer les réponses JSON. Cet article décrira comment accomplir cette tâche dans FastAPI et fournira des exemples de code correspondants.

Tout d'abord, nous devons créer une application FastAPI. Voici le code de base pour créer l'application :

from fastapi import FastAPI

app = FastAPI()
Copier après la connexion

Ensuite, nous devons créer une route qui gérera les requêtes POST. FastAPI utilise des décorateurs pour définir des itinéraires. Voici un exemple de gestion d'une requête POST :

@app.post("/api/submit")
async def submit_data(data: dict):
    # 在这里进行数据处理
    # ...
    # 返回JSON响应
    return {"message": "Data submitted successfully"}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini une route à l'aide du décorateur @app.post avec le chemin de /api/submit </ code>, la méthode de requête est POST. La fonction de routage <code>submit_data accepte un paramètre nommé data, le type de paramètre est dict, qui sera utilisé pour recevoir les données dans la requête POST. @app.post定义了一个路由,该路由的路径为/api/submit,请求方法为POST。路由函数submit_data接受一个名为data的参数,参数类型为dict,它将用于接收POST请求中的数据。

submit_data函数中,我们可以进行数据处理的逻辑,如验证数据、保存到数据库等等。然后,我们使用return语句返回一个JSON响应。在这个示例中,我们返回了一个包含键"message"和值"Data submitted successfully"的字典。

注意,在FastAPI中,使用async def来定义异步函数,这样可以充分利用框架的异步特性,提高性能。

为了使应用程序能够运行起来,我们需要添加以下代码:

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)
Copier après la connexion

以上代码将使应用程序运行在本地的0.0.0.0地址上,监听端口8000。

现在,我们已经完成了在FastAPI中处理POST请求并返回JSON响应的基本代码。我们可以通过向/api/submit发送一条POST请求,并在请求体中包含JSON数据来测试我们的应用程序。

以下是一个使用Python requests库发送POST请求的示例:

import requests

data = {"name": "John", "age": 30}
response = requests.post("http://localhost:8000/api/submit", json=data)

print(response.json())
Copier après la connexion

在上面的示例中,我们创建了一个字典data,包含了一些数据。然后,我们使用requests.post方法发送POST请求,并通过json参数将数据作为JSON发送。最后,我们使用response.json()

Dans la fonction submit_data, nous pouvons effectuer une logique de traitement des données, telle que la vérification des données, l'enregistrement dans la base de données, etc. Ensuite, nous utilisons l'instruction return pour renvoyer une réponse JSON. Dans cet exemple, nous renvoyons un dictionnaire contenant la clé "message" et la valeur "Données soumises avec succès".

Notez que dans FastAPI, utilisez async def pour définir des fonctions asynchrones, qui peuvent exploiter pleinement les fonctionnalités asynchrones du framework et améliorer les performances. 🎜🎜Pour que l'application s'exécute, nous devons ajouter le code suivant : 🎜rrreee🎜Le code ci-dessus permettra à l'application de s'exécuter sur l'adresse locale 0.0.0.0 et d'écouter sur le port 8000. 🎜🎜Maintenant, nous avons terminé le code de base pour gérer une requête POST dans FastAPI et renvoyer une réponse JSON. Nous pouvons tester notre application en envoyant une requête POST à ​​/api/submit et en incluant des données JSON dans le corps de la requête. 🎜🎜Voici un exemple d'envoi d'une requête POST à ​​l'aide de la bibliothèque Python requests : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons créé un dictionnaire data qui contient des données. Nous envoyons ensuite la requête POST en utilisant la méthode requests.post et envoyons les données au format JSON via le paramètre json. Enfin, nous utilisons la méthode response.json() pour obtenir les données JSON de réponse et les imprimer. 🎜🎜Avec l'exemple simple ci-dessus, nous montrons comment gérer les requêtes POST et renvoyer les réponses JSON dans FastAPI. FastAPI fournit une conception d'API simple et puissante, nous permettant de créer des applications Web plus efficacement. J'espère que cet article pourra être utile au processus d'utilisation de FastAPI pour gérer les requêtes POST. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal