路由就是 URL + HTTP方法 → 处理函数 之间的映射关系

换句话说,当客户端以某种 HTTP 方法(如 GETPOSTDELETE 等)请求某个 URL 时,服务器会根据路由规则匹配对应的处理函数,执行该函数并生成响应。

FastAPI的路由定义基于Python的装饰器模式

@app.get("/url_root")
async def root():
    return {"message": "hello world"}

以上述代码为例:

  • @装饰器,@app.get("/url_root")是一个装饰器表达式
  • app实例名称
  • getFastAPI实例的方法,用于注册 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也可以看到这个路由的内容。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐