simple-api-test / app.py
peter288's picture
Upload 3 files
d585c70 verified
from fastapi import FastAPI, Query
from fastapi.middleware.cors import CORSMiddleware
import uvicorn
# 创建 FastAPI 应用实例
app = FastAPI(
title="Simple Calculator API",
description="一个用于验证部署流程的最简API,接收两个数字并返回它们的和。",
version="0.1.0"
)
# --- CORS 中间件 ---
# 允许所有来源的请求,为未来的前端集成做准备
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# --- 核心计算函数 (替代MIDI处理) ---
def simple_add(number1: float, number2: float) -> float:
"""
这是一个简单的计算函数,模拟你的核心业务逻辑。
它接收两个浮点数,返回它们的和。
这个函数未来可以被替换为 process_midi()。
"""
print(f"正在计算: {number1} + {number2}")
return number1 + number2
# --- API 端点 ---
@app.get("/", tags=["General"])
def read_root():
"""根路径,提供欢迎信息和文档链接。"""
return {"message": "Welcome to the Simple Calculator API!", "docs_url": "/docs"}
@app.get("/calculate", tags=["Calculation"])
def calculate_sum(
a: float = Query(..., description="第一个数字"),
b: float = Query(..., description="第二个数字")
):
"""
接收两个查询参数 'a' 和 'b',调用计算函数,并返回结果。
示例调用: /calculate?a=10&b=22
"""
# 调用核心计算函数
result = simple_add(a, b)
# 以JSON格式返回结果
return {
"input": {
"a": a,
"b": b
},
"operation": "addition",
"result": result
}
# 这部分是为了方便在本地直接运行测试,Docker部署时不会用到
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)