路由就是 URL + HTTP方法 → 处理函数之间的映射关系。
换句话说,当客户端以某种 HTTP 方法 (如 GET 、POST 、DELETE 等)请求某个 URL 时,服务器会根据路由规则匹配对应的处理函数,执行该函数并生成响应。
FastAPI的路由定义基于Python的装饰器模式。
python
@app.get("/url_root")
async def root():
return {"message": "hello world"}
以上述代码为例:
- @ 是装饰器 ,@app.get("/url_root")是一个装饰器表达式
- app 是实例名称
- get 是FastAPI实例的方法,用于注册 HTTP GET 路由
- "/url_root" 是请求路径
- async 是异步关键字,表示root() 函数是个异步函数
- root() 函数是请求路径**"/url_root"** 对应的处理函数
- return 后面的内容就是root()函数的返回值, 也是访问/url_root时的响应结果
简而言之:通过上面3行代码,用户在访问 http://127.0.0.1:8000**/url_root发送GET请求时,FastAPI会调用与该路径绑定的异步函数root()** ,函数返回的 Python 字典会被自动转换为 JSON ,并作为 HTTP 响应返回给客户端。因此,我们在浏览器上可以看到返回值:{"message": "hello world"}。
代码运行后,在/docs也可以看到这个路由的内容。