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

相关推荐
卜锦元10 分钟前
Golang项目开发过程中好用的包整理归纳(附带不同包仓库地址)
开发语言·后端·golang
Tony Bai4 小时前
“我曾想付钱给 Google 去工作”—— Russ Cox 深度访谈:Go 的诞生、演进与未来
开发语言·后端·golang
sali-tec4 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
路边草随风5 小时前
milvus向量数据库使用尝试
人工智能·python·milvus
hnlgzb5 小时前
安卓app开发,如何快速上手kotlin和compose的开发?
android·开发语言·kotlin
newobut5 小时前
vscode远程调试python程序,基于debugpy库
vscode·python·调试·debugpy
无敌最俊朗@5 小时前
STL-deque面试剖析(面试复习4)
开发语言
APIshop5 小时前
用 Python 把“API 接口”当数据源——从找口子到落库的全流程实战
开发语言·python
Java Fans6 小时前
Qt Designer 和 PyQt 开发教程
开发语言·qt·pyqt
RwTo6 小时前
【源码】-Java线程池ThreadPool
java·开发语言