如何使用FastAPI创建一个简单的GET请求

使用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应用的难度,同时还提供了很多有用的功能,如文档自动生成、参数校验等。希望这篇文章能够对你有所帮助。

后端开发标签