FastAPI

API

API (Application Programming Interface,应用程序编程接口)是两套软件之间约定好的沟通通道与规则,让不同程序不用看懂对方内部代码,就能互相调用功能、交换数据。

复制代码
API(所有程序接口的统称)
├─ 本地API(函数、系统调用、硬件库接口)
└─ 网络API
   ├─ Web API(HTTP/HTTPS,互联网对外接口)
   └─ RPC接口(内网微服务高性能调用)
  • 本地API:内存内函数(语言内置函数、第三方库方法)仅代码内部调用,不走网络,属于狭义本地接口;
  • 网络 API:跨机器、跨服务通过 HTTP/HTTPS 传输数据,前后端互通等,是网络层面的数据交互标准。

举例(把软件比作餐厅)

  • 后端服务 = 后厨(内部逻辑复杂,外人不能进)
  • API = 服务员(统一沟通窗口,制定沟通规则)
  • 客户端(前端 / APP)= 顾客

顾客不用知道后厨怎么做菜,只需要跟服务员(API)报需求;后厨也不用管顾客是谁,只按约定格式上菜(返回数据)。 服务员就是隔离内外、标准化沟通的 API。

作用

  1. 解耦分离:前后端分离,前端只管展示,后端只管数据逻辑,互不干涉;
  2. 复用能力:一套接口可给网页、APP、小程序多方使用;
  3. 跨语言互通:Python 后端、Java 后端、JS 前端,依靠统一 API 规范互相通信;
  4. 微服务拆分:大型系统拆成用户、订单、支付等独立服务,靠 API 互相调用。

FastAPI

FastAPI是个用Python写的高性能Web框架,专门用来快速构建API接口。核心设计目标是解决传统框架(如Flask、Django)在异步支持、开发效率和性能上的痛点,主要优势有:

  • 高性能,是Python中最快的框架之一。底层基于Atarlette(ASGI框架)和Pydantic(数据验证库)
  • 开发效率高。高度依赖类型提示,减少了大量样板代码
  • 自动生成文档。基于OpenAPI标准,能自动为你的API生成交互式文档,支持Swagger UI和ReDoc两种界面,可在浏览器中直接调用和测试API
  • 强大的依赖注入系统。
  • 内置安全功能,内置了对OAuth2、JWT等安全认证机制的支持

适用场景:

  • 构建高并发API服务,例如支付网关、实时数据推送服务
  • 最为微服务架构中的核心组件
  • 为机器学习模型提供高性能API服务接口
  • 咖啡需要WebSocket实时通信的应用

编写FastAPI项目

新建一个FastAPI项目,main.py是项目启动文件

python 复制代码
from fastapi import FastAPI

# 定义FastAPI实例
app = FastAPI()

# 两个get请求+异步方法
@app.get("/")
asyc def root():
    return {"messag": "Hello World"}

# 包含一个name路径变量
@app.get("/hello/{name}") 
asyc def say_hello(name: str):   #变量名,str类型
    return {"messag": f"Hello {name}"}

自动生成交互式API文档

遵循OpenAPI标准,当使用Python的类型提示定义API的路径、参数和请求体是,FastAPI回在后台自动提取这些信息,并生成一个符合OpenAPI规范的JSON或YAML文件

两大核心文档界面

Swagger UI(/docs),提供了一种可视化的、可交互的界面,清晰地列出了所有API端点、请求方法、参数和响应模型

ReDoc(/redoc),一份结构清晰、易于阅读的文档

参数校验

参数校验是FastAPI的强项

链接分享

【2027版 一天学会 FastAPI Python web开发 视频教程(无废话版)】https://www.bilibili.com/video/BV1hj756zEED?p=6\&vd_source=bd5cd167d80f9a527099508a327cb09f

MCP

MCP(Model Context Protocol,模型上下文协议),是一种专为大模型 Agent 设计的上层专用协议

旧方案:每个工具要单独写对接代码(N 模型 ×M 工具,大量重复开发)

MCP 方案:一套标准,所有工具、AI 客户端即插即用

  • AI 端(Host):Claude、Cursor、VS Code、各类 Agent 平台
  • MCP Server:文件读取、Git、数据库、浏览器、企业 OA、天气等独立服务
  • Client:AI 内部协议适配器,负责转发请求、接收工具返回数据

让大模型拥有了使用各种外部工具的能力

MCP Host,一个支持MCP协议的软件,就是Claude Desktop、Cursor、Cline等

MCP Server,MCP服务器,和传统意义上的服务器没有关系,就是一个执行符合MCP协议的程序

Tool,工具,就是一些有一定功能的工具,集成在MCP Server中

链接分享

【MCP终极指南 - 从原理到实战,带你深入掌握MCP(基础篇)】https://www.bilibili.com/video/BV1uronYREWR?vd_source=bd5cd167d80f9a527099508a327cb09f

PostgreSQL

一款被誉为"世界上最先进的开源关系型数据库",以极致的严谨性、强大的JSON支持。有近乎无限的插件扩展能力

大多数的数据库只擅长意见事情,比如(MySQL擅长简答Web应用,MongoDB擅长文档存储),Postgresql几乎擅长所有事

  • 不仅仅是关系型数据库,对JSON的支持也很出色,性能可以媲美专业的文档数据库MongoDB
  • 地理信息处理:扩展插件PostGIS是GIS领域的工业标准
  • 全文检索:内置强大的搜索功能,小型数据库不用专门按照Elasticsearch

链接分享

【PostgreSQL零基础入门课程】https://www.bilibili.com/video/BV1AtQJB4E9o?vd_source=bd5cd167d80f9a527099508a327cb09f

相关推荐
爱音乐的marlon2 天前
FastAPI 学习笔记03|core 核心层:config 是总控制台,database 是整个工程的地基
笔记·学习·fastapi
花酒锄作田2 天前
Repository 模式在 FastAPI 中的应用
python·fastapi
喜欢的名字被抢了2 天前
FastAPI 接口安全与工程化 JWT、测试和配置管理
安全·fastapi
Maiko Star3 天前
从零落地「AI掘金头条」新闻模块:FastAPI + SQLAlchemy 异步实战
python·fastapi
喜欢的名字被抢了3 天前
FastAPI 接入异步 PostgreSQL 完成任务 CRUD 与数据库迁移
数据库·postgresql·fastapi
Esaka_Forever3 天前
uvicorn main.py 命令说明
fastapi
巴啦啦小魔仙变身4 天前
FastAPI 01 Create Demo
python·fastapi
李昊哲小课6 天前
fastapi sse websocket 奶茶店实时订单看板
人工智能·python·websocket·网络协议·fastapi·sse
李昊哲小课6 天前
fastapi sse websocket 智能家居实时控制台
python·websocket·智能家居·fastapi·sse
赵广陆6 天前
SQLAlchemy ORM 超全教程
python·fastapi