fastapi 目录结构

fastapi 解决跨域
"""apt app 后端服务启动"""
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from apt_app_service.apps.antifraud.app_views.files_views import antifraud_files_router
from apt_app_service.apps.antifraud.app_views.urls_views import antifraud_urls_router
from apt_app_service.apps.antifraud.app_views.result_views import antifraud_results_router
from apt_app_service.apps.antifraud.app_views.feedback_views import antifraud_feedback_router
app = FastAPI(title='apt 接口文档')
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
expose_headers=["*"]
)
app.include_router(antifraud_files_router)
app.include_router(antifraud_urls_router)
app.include_router(antifraud_results_router)
app.include_router(antifraud_feedback_router)
fastapi 后台任务
antifraud_urls_router = APIRouter(
prefix="/antifraud/api/v1/urls",
tags=["antifraud_urls"],
responses={404: {"description": "Not found"}},
)
@antifraud_urls_router.post("/")
async def upload_urls(background_tasks: BackgroundTasks, urls: List[str]):
background_tasks.add_task(check_files, [uid, 'url', url])
async def check_files(files_list:list):
print('开始执行检测异步任务')
fastapi 路由分发
"""apt app 后端服务启动"""
from fastapi import FastAPI
from apt_app_service.apps.antifraud.app_views.files_views import antifraud_files_router
from apt_app_service.apps.antifraud.app_views.urls_views import antifraud_urls_router
from apt_app_service.apps.antifraud.app_views.result_views import antifraud_results_router
from apt_app_service.apps.antifraud.app_views.feedback_views import antifraud_feedback_router
app = FastAPI(title='apt 接口文档')
app.include_router(antifraud_files_router)
app.include_router(antifraud_urls_router)
app.include_router(antifraud_results_router)
app.include_router(antifraud_feedback_router)
from fastapi import APIRouter
from typing import List
from fastapi import File, UploadFile
antifraud_files_router = APIRouter(
prefix="/antifraud/api/v1/files",
tags=["antifraud_files"],
responses={404: {"description": "Not found"}},
)
@antifraud_files_router.post("/")
async def upload_files(files: List[UploadFile] = File(...)):
"""上传多个文件"""
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-04-11 Golang——面向对象