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

相关推荐
CaffeinePro2 天前
FastAPI高并发实战:缓存、分布式限流、链路日志三位一体架构
后端·fastapi
java1234_小锋3 天前
FastAPI python web开发- 集成SQLAlchemy ORM 操作数据库
fastapi
不瘦80斤不改名3 天前
全家桶、乐高积木与类型引擎:重新认识 Django、Flask 与 FastAPI
django·flask·fastapi
Exclusive_Cat5 天前
FastAPI热重载失效?降级uvicorn解决
python·fastapi
初学AI的小高5 天前
FastAPI 工程实践:LLM 应用的 API 设计之道
后端·fastapi
java1234_小锋5 天前
FastAPI python web开发- 中间件
fastapi
不能只会打代码5 天前
Day 002 — Python 工程化 & FastAPI & 数据库速通
数据库·redis·python·docker·fastapi·测试
zhiSiBuYu05175 天前
FastAPI 结合 Jinja2 模板开发入门指南
fastapi
allnlei5 天前
React + FastAPI 前后端分离架构下的 Nginx 配置实践
react.js·架构·fastapi