1.FastAPI简介与安装

文章目录

为什么选择FastAPI?

  • python web开发:
    • Django: 适合大型复杂项目;
    • Flask:适合灵活开发,搭建小型项目;
    • FastAPI: 兼具开发快捷和高性能的特点;
      • 编译时检查数据类型;
      • 支持异步;

FastAPI支持的功能

  • 自动生成API文档:依据类型提示和OpenAPI规范,自动生成详细API文档,还提供Swagger UI和ReDoc可视化界面,方便测试与对接。

  • 数据验证与序列化:内置数据验证机制,按类型提示验证输入数据,自动返回错误信息。还能轻松实现数据的序列化和反序列化。

  • 依赖注入:支持依赖注入模式,分离通用功能,提高代码复用性和可维护性,避免重复代码。

  • 支持多种请求方法:全面支持GET、POST、PUT、DELETE等HTTP请求方法,适配各种业务场景。

FastAPI的安装

python 复制代码
# fastapi项目是一个Web应用
pip install fastapi
# UVicorn 是一个支持 ASGI 的 Web 服务器,它能够运行符合 ASGI 规范的 Python Web 应用程序,例如 FastAPI 应用。
pip install uvicorn 

第一个FastAPI应用

python 复制代码
from fastapi import FastAPI

# 创建一个fastapi实例
app = FastAPI()

@app.get("/")
def root():
	# 返回一个包含信息的字典
    return {"message": "欢迎来到FastAPI的世界"}

运行应用

  • 路径区分

    • 当工作目录跟main.py文件路径一致时,运行以下命令

      python 复制代码
      uvicorn main:app --reload
    • 当工作目录跟main.py文件路径不一致时,main:app中的main要替换成从当前工作目录到main.py的相对路径,如下:

      python 复制代码
      # 代表工作目录是在app01文件夹那一层,然后main.py在文件夹app01文件夹里面注意中间是用"."连接,类似与包的导入
      uvicorn app01.main:app  --reload
  • uvicorn:是我们之前安装的ASGI服务器

  • main:app:表示我们要运行"main.py"文件中的app实例。

  • reload:它会让Uvicorn在代码发生变化时自动重新加载应用,

相关推荐
teeeeeeemo2 分钟前
回调函数 vs Promise vs async/await区别
开发语言·前端·javascript·笔记
加油吧zkf7 分钟前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
t_hj8 分钟前
python规划
python
ejinxian22 分钟前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
czhc114007566323 分钟前
Linux 76 rsync
linux·运维·python
软件黑马王子1 小时前
C#系统学习第八章——字符串
开发语言·学习·c#
阿蒙Amon1 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#
悠悠小茉莉1 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
Da_秀1 小时前
软件工程中耦合度
开发语言·后端·架构·软件工程
Fireworkitte1 小时前
Java 中导出包含多个 Sheet 的 Excel 文件
java·开发语言·excel