Comment utiliser les paramètres de requête pour filtrer les données dans FastAPI
Introduction :
FastAPI est un framework Web moderne et rapide (haute performance) basé sur Python. Il est facile à utiliser et fonctionne très bien. Cet article explique comment utiliser les paramètres de requête pour filtrer les données dans FastAPI afin d'obtenir une requête de données flexible.
1. Démarrez l'application FastAPI
Tout d'abord, nous devons créer une application FastAPI et la démarrer, comme indiqué ci-dessous :
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello, FastAPI!"}
Dans le code ci-dessus, nous avons créé une application FastAPI et défini une route racine /</ code>, en accédant à la route racine, un simple message « Bonjour, FastAPI ! » peut être renvoyé. <code>/
,通过访问根路由,可以返回一条简单的消息“Hello, FastAPI!”。
二、使用查询参数进行数据筛选
在 FastAPI 中,我们可以使用 Query
类型的参数来接收查询参数。下面是一个例子,演示如何使用查询参数进行数据筛选:
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users/") async def get_users(name: str = Query(None)): if name: # 根据查询参数 name 进行数据筛选 result = db.query().filter(User.name == name).all() else: # 若没有查询参数,则返回所有的用户数据 result = db.query().all() return {"users": result}
在上述代码中,我们定义了一个 /users/
的路由,通过访问这个路由,可以获取用户数据。该路由接受一个查询参数 name
,用于筛选指定名称的用户数据。如果查询参数 name
存在,我们就使用该参数进行数据筛选;否则,返回所有的用户数据。
三、多个查询参数同时使用
在实际场景中,我们可能需要同时根据多个查询参数进行数据筛选。下面是一个示例,演示如何同时使用多个查询参数进行数据筛选:
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users/") async def get_users(name: str = Query(None), age: int = Query(None)): query = db.query() if name: query = query.filter(User.name == name) if age: query = query.filter(User.age == age) result = query.all() return {"users": result}
在上述代码中,我们定义了一个 /users/
的路由,并接受两个查询参数 name
和 age
。我们可以同时根据这两个查询参数进行数据筛选,从而实现更加灵活的查询操作。
四、使用默认值和校验
FastAPI 还支持为查询参数设置默认值,并进行校验。例如,我们可以为 age
查询参数设置默认值为 20
,并且限制 age
的取值范围在 10
到 50
之间:
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users/") async def get_users(name: str = Query(None), age: int = Query(20, ge=10, le=50)): query = db.query() if name: query = query.filter(User.name == name) query = query.filter(User.age == age) result = query.all() return {"users": result}
在上述代码中,我们通过指定 age
查询参数的默认值为 20
,并使用 ge
和 le
参数对 age
进行了校验。这样,当请求中不指定 age
查询参数时,会自动使用默认值 20
;而当指定 age
Dans FastAPI, nous pouvons utiliser des paramètres de type Query
pour recevoir des paramètres de requête. Voici un exemple qui montre comment utiliser les paramètres de requête pour le filtrage des données :
rrreee
/users/
En accédant à cette route, les données utilisateur peuvent être obtenues. Cette route accepte un paramètre de requête name
, qui est utilisé pour filtrer les données utilisateur avec le nom spécifié. Si le paramètre de requête name
existe, nous utiliserons ce paramètre pour le filtrage des données, sinon toutes les données utilisateur seront renvoyées. 🎜🎜3. Utiliser plusieurs paramètres de requête en même temps🎜Dans des scénarios réels, nous devrons peut-être filtrer les données en fonction de plusieurs paramètres de requête en même temps. Voici un exemple qui montre comment utiliser plusieurs paramètres de requête en même temps pour le filtrage des données : 🎜rrreee🎜 Dans le code ci-dessus, nous définissons une route vers /users/
et acceptons deux paramètres de requête nom
et âge
. Nous pouvons filtrer les données en fonction de ces deux paramètres de requête en même temps pour obtenir des opérations de requête plus flexibles. 🎜🎜4. Utiliser les valeurs par défaut et la vérification🎜FastAPI prend également en charge la définition de valeurs par défaut pour les paramètres de requête et la vérification. Par exemple, nous pouvons définir la valeur par défaut du paramètre de requête age
sur 20
et limiter la plage de valeurs de age
à 10.
entre 50
: 🎜rrreee🎜Dans le code ci-dessus, nous spécifions la valeur par défaut du paramètre de requête age
comme 20
et utilisons ge et le
vérifient age
. De cette manière, lorsque le paramètre de requête age
n'est pas spécifié dans la requête, la valeur par défaut 20
sera automatiquement utilisée et lorsque le age
; Le paramètre de requête est spécifié, la valeur par défaut sera utilisée. Validation de la plage de valeurs. 🎜🎜Conclusion : 🎜Grâce à l'exemple de code ci-dessus, nous avons appris à utiliser les paramètres de requête pour le filtrage des données dans FastAPI. L'utilisation de paramètres de requête peut ajouter de la flexibilité à notre application, nous permettant de filtrer librement les données en fonction de besoins spécifiques. Dans le même temps, FastAPI offre une multitude de fonctions et d'options, rendant l'utilisation des paramètres de requête plus puissante et plus pratique. J'espère que cet article pourra vous aider à apprendre et à utiliser FastAPI. 🎜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!