FastAPI 查询参数

FastAPI 查询参数

向服务器传递请求数据的经典方法是在URL上附加一个查询字符串。假设服务器上的Python脚本(hello.py)以 CGI 方式执行,一个由安培尔(&)连接的键值对列表构成了查询字符串,它以问号(?)作为分隔符被附加到URL上。例如 –

http://localhost/cgi-bin/hello.py?name=Ravi&age=20

URL的尾部,即(?)之后的部分是查询字符串,然后由服务器端脚本进行解析,以便进一步处理。

如前所述,查询字符串是一个由&符号连接的参数=值对列表。FastAPI自动将端点中不是路径参数的部分视为查询字符串,并将其解析为参数及其值。这些参数被传递给操作装饰器下面的函数。

例子

from fastapi import FastAPI
app = FastAPI()
@app.get("/hello")
async def hello(name:str,age:int):
   return {"name": name, "age":age}

在浏览器中启动Uvicorn服务器和这个URL:

http://localhost:8000/hello?name=Ravi&age=20

你应该得到相同的JSON响应。然而,检查告诉你,FastAPI已经检测到/hello端点没有路径参数,而是查询参数。

FastAPI - 查询参数

点击 Try it out 按钮,输入 “Ravi “和 “20 “作为值,然后按下 Execute 按钮。文档页面现在显示了Curl命令、请求的URL以及HTTP响应的正文和头文件。

FastAPI - 查询参数

例子

你可以使用Python的类型提示来装饰函数的参数。在这个例子中,将name定义为str,age定义为int。

from fastapi import FastAPI
app = FastAPI()
@app.get("/hello/{name}")
async def hello(name:str,age:int):
   return {"name": name, "age":age}

尝试输入http://localhost:8000/docs 作为URL。这将打开Swagger UI(OpenAPI)文档。参数’name’是一个路径参数,’age’是一个查询参数

FastAPI - 查询参数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程