使用说明
mcp示例
基于MCP服务器的FastAPI API
概述
一个带有完整CRUD(创建、读取、更新、删除)REST API的产品、客户和订单管理的FastAPI应用程序。使用SQLite3进行本地开发。
特点
- 产品API管理产品的完整CRUD操作(创建、读取、更新、删除)
- 客户API完整的CRUD操作用于管理客户
- 订单API对包含订单项的订单进行全面的增删改查(CRUD)操作管理
- SQLite 数据库用于开发的本地 SQLite3 数据库
- 自动文档生成交互式API文档请访问
/docs并且/redoc
安装
- 安装依赖项:
pip install -r requirements.txt
运行应用程序
启动开发服务器:
uvicorn app.main:app --reload
API将可在以下地址获取: http://localhost:8000
API 文档
服务器运行后,请访问:
- Swagger UIhttp://localhost:8000/docs 翻译成中文是:“本地主机上的8000端口文档页面”。不过,通常我们不会直接翻译网址,而是直接使用原网址或在中文语境下解释其含义。所以,也可以简单地说是“访问本地8000端口的文档”
- **ReDoc(中文可译为“重构文档”或根据具体语境可能译为“重新记录”、“修订文档”等,但“ReDoc”本身作为一个专有名词或品牌名时,通常直接保留原样)**http://localhost:8000/redoc 翻译为中文是:“http://本地主机:8000/redoc” 或者更自然地表达为:“本地主机上的 http://8000/redoc 页面”。不过,通常我们不会直接翻译网址,而是解释其用途或说明访问该网址的意义。例如,可以解释为:“这是访问本地运行的某个服务或API文档的页面,通过浏览器输入 http://localhost:8000/redoc 即可查看。” 但在这里,按照要求直接翻译网址部分,上述翻译是合适的
API 端点
产品
POST /products/- 创建一个新产品GET /products/- 获取所有产品(带分页)GET /products/{product_id}- 获取特定产品PUT /products/{product_id}- 更新产品DELETE /products/{product_id}- 删除一个产品
顾客
POST /customers/- 创建一个新客户GET /customers/- 获取所有客户(带分页)GET /customers/{customer_id}- 获取特定客户PUT /customers/{customer_id}- 更新客户信息DELETE /customers/{customer_id}- 删除一个客户
订单
POST /orders/- 创建一个新订单GET /orders/- 获取所有订单(带分页)GET /orders/{order_id}- 获取特定订单GET /customers/{customer_id}/orders- 获取某位客户的全部订单PUT /orders/{order_id}- 更新订单(状态)DELETE /orders/{order_id}- 删除一个订单
示例用法
创建一个产品
curl -X POST "http://localhost:8000/products/" \
-H "Content-Type: application/json" \
-d '{
"name": "Laptop",
"description": "High-performance laptop",
"price": 999.99,
"stock": 50
}'
创建一个客户
curl -X POST "http://localhost:8000/customers/" \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"email": "john@example.com",
"phone": "555-1234",
"address": "123 Main St"
}'
创建一个订单
curl -X POST "http://localhost:8000/orders/" \
-H "Content-Type: application/json" \
-d '{
"customer_id": 1,
"status": "pending",
"items": [
{
"product_id": 1,
"quantity": 2
}
]
}'
数据库
该应用程序使用SQLite3数据库文件 app.db 存储在项目根目录中。首次运行应用程序时,数据库会自动创建。
数据库模式
产品表
- id(主键)
- 名字
- 描述
- 价格
- 股票
- 创建时间
- 更新时间(或最后更新时间)
客户表
- id(主键)
- 名字
- 电子邮件(唯一)
- 电话
- 地址
- 创建时间(或生成时间)
- 更新时间(或最后更新时间)
订单表
- id(主键)
- 客户ID(外键)
- 订单日期
- 状态
- 总金额
- 创建时间(或生成时间)
- 更新时间
订单项目表
- id(主键)
- 订单ID(外键)
- product_id(外键)
- 数量
- 价格
许可证
GPL-3.0(通用公共许可证第3版)
