Python Web框架:FastAPI

一:简介

FastAPI https://fastapi.org.cn/ 是一个现代、快速(高性能)的 Web 框架,用于基于标准 Python 类型提示构建 API。

教程:https://fastapi.org.cn/tutorial/

shell 复制代码
pip install fastapi

二:示例

python 复制代码
import os
import json
import logging
from typing import Any
from pydantic import BaseMode
from fastapi import FastAPI
from fastapi.responses import FileResponse, JSONResponse
from fastapi.staticfiles import StaticFiles


logging.basicconfig(
	level=logging.INFo,
	format="%(asctime)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s"
)	

app = FastAPI(title="标题")
app.mount("/static", StaticFiles(directory="static", name="static"))

class ApiResponse(BaseModel):
	code: int
	message: str
	data: Any

# 全局异常处理器
@app.exception_handler(Exception)
def handle_exception(request: Request, exe: Exception):
	logging.error(f"异常处理,请求路径 {request.url}, 捕获到异常 {exe}")
	return JSONResponse(content={"code": 500, "message"="服务器内部错误,请联系管理员", data: None})

@app.get("/")
def root():
	logging.info("首页")
	return FileResponse("static/index.html")

@app.get("/api/user")
def get_user(request: int) -> ApiResponse:
	user = {"id": 1, "username": "melong"}
	return ApiResponse(200, "ok", user)

@app.post("/api/user")
def add_user():
	pass

@app.delete("/api/user")
def del_user(id: int):
	pass

if __name__ == "__main__":
import uvicorn
  uvicorn.run(app, host="127.0.0.1", port=8000)

三:运行

方式一

python 复制代码
pip install "fastapi[standard]"
fastapi dev "xxx.py"

方式二

python 复制代码
uvicorn xxx:app --reload

方式三(推荐)

uvicorn是Python中轻量的web服务器

python 复制代码
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
相关推荐
xsc6996751 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
小小小小宇1 小时前
OpenMemory MCP
前端
和平宇宙2 小时前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
IT_陈寒2 小时前
Redis持久化这个坑,我爬了一整天才出来
前端·人工智能·后端
无风听海2 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
naildingding2 小时前
3-ts接口 Interface
前端·typescript
CTA终结者2 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
小小前端仔LC2 小时前
Node.js + LangChain + React:搭建个人知识库(六)- “吃什么”项目实战:从700+菜谱入库到Taro H5端JSON渲染
前端·后端
马士兵教育2 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
晓13133 小时前
【Cocos Creator 3.x】篇——第二章 入门
前端·javascript·游戏引擎