API
API (Application Programming Interface,应用程序编程接口)是两套软件之间约定好的沟通通道与规则,让不同程序不用看懂对方内部代码,就能互相调用功能、交换数据。
API(所有程序接口的统称)
├─ 本地API(函数、系统调用、硬件库接口)
└─ 网络API
├─ Web API(HTTP/HTTPS,互联网对外接口)
└─ RPC接口(内网微服务高性能调用)
- 本地API:内存内函数(语言内置函数、第三方库方法)仅代码内部调用,不走网络,属于狭义本地接口;
- 网络 API:跨机器、跨服务通过 HTTP/HTTPS 传输数据,前后端互通等,是网络层面的数据交互标准。
举例(把软件比作餐厅)
- 后端服务 = 后厨(内部逻辑复杂,外人不能进)
- API = 服务员(统一沟通窗口,制定沟通规则)
- 客户端(前端 / APP)= 顾客
顾客不用知道后厨怎么做菜,只需要跟服务员(API)报需求;后厨也不用管顾客是谁,只按约定格式上菜(返回数据)。 服务员就是隔离内外、标准化沟通的 API。
作用
- 解耦分离:前后端分离,前端只管展示,后端只管数据逻辑,互不干涉;
- 复用能力:一套接口可给网页、APP、小程序多方使用;
- 跨语言互通:Python 后端、Java 后端、JS 前端,依靠统一 API 规范互相通信;
- 微服务拆分:大型系统拆成用户、订单、支付等独立服务,靠 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