02. FastAPI——路由

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

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

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

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

相关推荐
林恒smileZAZ几秒前
`Array(100).map(() => 1)` 为什么全为空?
前端·javascript
梨子同志几秒前
Spring Framework
后端
小巧的砖头22 分钟前
C#会重蹈覆辙吗?系列之2:反射及元数据的性能问题
开发语言·前端·c#
梨子同志23 分钟前
Spring Boot
后端
Fanta丶28 分钟前
4.Activiti流程定义部署
后端
KaMeidebaby28 分钟前
卡梅德生物技术快报|蛋白的叠氮基修饰:实操解析:核酸模板耦合蛋白的叠氮基修饰实现靶蛋白定点共价标记
前端·人工智能·物联网·算法·百度
濮水大叔39 分钟前
在大型 Vue 项目中,如何有效管理复杂的状态?“散装版” vs “套装版”
前端·vue.js·typescript
玄星啊1 小时前
可修改:代码的生存底线
前端·ai编程
没落英雄1 小时前
3. DeepAgents 实战 - Memory Skills 与上下文工程
前端·人工智能·架构