极简FastAPI

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,具有 Python 3.6 及以上版本的支持。它基于标准 Python 类型提示。

FastAPI 架构

FastAPI 的架构基于两个主要组件:

  1. Starlette:用于 Web 框架的轻量级 ASGI 框架/工具包,用于 Web 服务器和 Web 框架之间。
  2. Pydantic:用于数据验证和设置管理的库,使用 Python 类型提示。

主要特点

  • 快速:非常高的性能,与 NodeJS 和 Go 相当。
  • 简单:易于学习,减少开发时间。
  • 健壮:具有自动重载、交互式文档等。
  • 标准化:基于(并完全兼容)API 的开放标准。

基础代码案例

下面是一个简单的 FastAPI 应用程序示例,它定义了一个路径操作,该操作接收一个查询参数并返回它。

from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
# 定义一个简单的模型
class Item(BaseModel):
    name: str
    price: float
    is_offer: bool = None
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

在这个例子中,我们定义了一个名为 Item 的模型,它包含三个字段:namepriceis_offer。然后,我们定义了一个路径操作 /items/{item_id},它接受一个名为 item_id 的路径参数和一个名为 q 的可选查询参数。
要运行此应用程序,您可以使用以下命令:

uvicorn main:app --reload

这将使用 Uvicorn(一个 ASGI 服务器)来运行您的 FastAPI 应用程序。--reload 参数表示服务器将在代码更改时自动重新加载。
这只是一个非常基础的示例,FastAPI 还有很多其他高级功能,如请求体、依赖注入、安全性等。希望这能帮助您快速了解 FastAPI 的基础架构和用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉小雨

你的激励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值