02. FastAPI——路由

路由就是 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也可以看到这个路由的内容。

相关推荐
考虑考虑7 小时前
JDK26中的Map.ofLazy
java·后端·java ee
剪刀石头布啊8 小时前
vue-react为何要虚拟dom
前端
剪刀石头布啊8 小时前
ahooks常用的一些库,我们使用一下
前端
剪刀石头布啊8 小时前
从git更新本地提交记录到更新已经推送到远端记录
前端
云浪9 小时前
Go 并发实战:从零实现一个高并发安全的任务调度器
javascript·后端·go
苏三的开发日记9 小时前
Docker 启动顺序优化(CentOS / Ubuntu)
后端
Flynt10 小时前
axios 被投毒半年后,我把 npm 的"安全防线"实测了一遍:最信任的 SHA512 是安慰剂
前端·npm·node.js
excel11 小时前
Base62 和 Base64 有什么区别?
前端
高频因子挖掘机11 小时前
同一交易日出现重复 K 线:去重前先确认时间、来源和粒度
后端·github·api
feely020812 小时前
《我写了 31 个静态扫描插件,踩了 7 个「假绿」》
后端