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在代码发生变化时自动重新加载应用,

相关推荐
立志成为大牛的小牛1 小时前
数据结构——二十六、邻接表(王道408)
开发语言·数据结构·c++·学习·程序人生
祈祷苍天赐我java之术1 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
Gitpchy1 小时前
Day 20 奇异值SVD分解
python·机器学习
MediaTea2 小时前
Python 第三方库:matplotlib(科学绘图与数据可视化)
开发语言·python·信息可视化·matplotlib
草莓熊Lotso2 小时前
C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战
前端·c++·python·selenium
JS.Huang2 小时前
【JavaScript】原生函数
开发语言·javascript·ecmascript
我是李武涯2 小时前
PyTorch Dataloader工作原理 之 default collate_fn操作
pytorch·python·深度学习
CoderCodingNo3 小时前
【GESP】C++五级考试大纲知识点梳理, (5) 算法复杂度估算(多项式、对数)
开发语言·c++·算法
Kratzdisteln3 小时前
【Python】绘制椭圆眼睛跟随鼠标交互算法配图详解
python·数学·numpy·pillow·matplotlib·仿射变换
maxruan3 小时前
PyTorch学习
人工智能·pytorch·python·学习