初次代码
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# main0814.py
|
||||
# 项目入口文件:创建 FastAPI 应用、注册路由、创建数据库表
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
from database import engine, Base
|
||||
from api1 import users # 导入 users 子路由
|
||||
|
||||
# 1. 创建数据库表(如果表不存在)
|
||||
# Base.metadata.create_all 会扫描所有继承 Base 的模型,生成对应的 CREATE TABLE 语句
|
||||
# 对于 MySQL,它会根据模型定义自动生成建表语句(包括索引、约束等)
|
||||
# Base.metadata.create_all(bind=engine)
|
||||
|
||||
# 2. 创建 FastAPI 实例
|
||||
app = FastAPI(
|
||||
title="FastAPI + SQLAlchemy 分层架构(MySQL)",
|
||||
description="用户管理示例,演示分层架构和 MySQL 集成",
|
||||
version="1.0.0"
|
||||
)
|
||||
|
||||
# 3. 添加跨域中间件(允许前端跨域请求)
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=["*"], # 允许所有来源,生产环境应指定具体域名
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
# 4. 注册子路由
|
||||
# prefix 为路由前缀,所有用户接口都以 /api/users 开头
|
||||
app.include_router(users.router, prefix="/api/users", tags=["用户管理"])
|
||||
|
||||
# 5. 根路径
|
||||
@app.get("/")
|
||||
async def root():
|
||||
return {"message": "欢迎访问 FastAPI + SQLAlchemy 分层示例!请访问 /docs 查看 API 文档。"}
|
||||
|
||||
# 6. 如果直接运行此文件,启动 uvicorn 服务器
|
||||
if __name__ == "__main__":
|
||||
import uvicorn
|
||||
uvicorn.run(
|
||||
"main6:app", # 指定应用位置(模块名:应用变量名)
|
||||
host="localhost", # 监听所有网络接口
|
||||
port=8001, # 端口
|
||||
reload=True # 开发模式,代码变动自动重启
|
||||
)
|
||||
Reference in New Issue
Block a user