使用FastAPI创建简单的GET请求
FastAPI是一个基于Python的现代Web框架,使用它可以快速构建高性能的Web API。在这篇文章中,我们将介绍如何使用FastAPI创建一个简单的GET请求。
安装FastAPI
在使用FastAPI之前,首先需要安装它。可以使用pip来进行安装:
pip install fastapi
另外,我们还需要安装一个ASGI服务器——uvicorn。
pip install uvicorn
编写代码
我们将创建一个简单的API,它的作用是接收一个query参数,然后返回一个字符串。
导入模块
首先,我们需要导入一些模块:
from fastapi import FastAPI
app = FastAPI()
它们分别是:
FastAPI:FastAPI框架主要的类,用于创建Web应用。
创建路由
接下来,我们需要创建一个路由。路由就是将URL与函数关联起来的机制。当请求一个特定的URL时,框架会自动调用与之关联的函数。
在FastAPI中,我们可以使用装饰器来创建路由。比如下面这样:
@app.get("/hello")
def hello_world():
return {"message": "Hello World"}
在这个例子中,我们使用了@app.get装饰器来创建一个GET请求的路由,它的URL是/hello。当用户请求这个URL时,框架会自动调用hello_world函数,并将其返回值作为HTTP响应发送给客户端。
我们可以使用curl命令来测试这个路由:
curl http://localhost:8000/hello
我们应该能够看到一个类似于下面的响应:
{
"message": "Hello World"
}
添加参数
现在我们来添加一个query参数。可以使用FastAPI提供的Query类来实现:
from fastapi import Query
@app.get("/greet")
def greet(name: str = Query(..., description="The name of the person to greet")):
return {"message": f"Hello {name}"}
在这个例子中,我们在greet函数的参数列表中添加了一个name参数。我们使用了FastAPI提供的Query类来指定这个参数的类型为字符串,并且提供了一个描述“description”。在下面的响应中,我们将会看到这个描述。
我们可以使用curl命令来测试这个路由:
curl 'http://localhost:8000/greet?name=John'
我们应该能够看到一个类似于下面的响应:
{
"message": "Hello John"
}
运行应用
现在,我们已经编写了一个简单的应用,可以在本地运行它。只需要在命令行中运行下面这个命令即可:
uvicorn main:app --reload
这个命令将会开启一个Web服务器,监听本地的8000端口。我们可以在浏览器中访问http://localhost:8000/docs,来查看API的文档,以及测试API:
总结
在本文中,我们介绍了如何使用FastAPI创建一个简单的GET请求。FastAPI是一个非常优秀的Web框架,它可以大大降低开发Web应用的难度,同时还提供了很多有用的功能,如文档自动生成、参数校验等。希望这篇文章能够对你有所帮助。