FastApi

fastapi坑--fastapi 书写EventSourceResponse 迭代器的时候一定要加sleep

一定要加sleep ,否则 sse_starlette.sse 中 listen_for_disconnect 收不到 http.disconnect 信号。这个表现是服务端的sse传输不会结束,会一直传递下去(虽然客户端 close或者disconnect)。 ......
fastapi EventSourceResponse 时候 sleep

带你了解关于FastAPI快速开发Web API项目中的模板和Jinja

摘要:FastAPI 实际上是为构建 API 和微服务而设计的。它可用于构建使用 Jinja 提供 HTML 服务的 Web 应用程序。 本文分享自华为云社区《FastAPI 快速开发 Web API 项目: 模板和 Jinja 介绍》,作者:宇宙之一粟。 什么是 Jinja 模板是全栈 Web 开 ......
模板 FastAPI 项目 Jinja API

fastapi_oracle_example

/Users/song/codelearn/FastAPI-Oracle-main/main.py import os, secrets, requests, json from typing import List, Optional from fastapi import Depends, Fa ......

FastAPI.2

FastAPI.2 一、简单的编写基于fastapi的接口 创建main.py文件 导入fastapi from fastapi import FastAPI 实例化出FastAPI的对象 app = FastAPI() 通过装饰器添加路径, @app.get("/") ''' @app.get(" ......
FastAPI

FastAPI.1

FastAPI.1 一、介绍主要特点 快速 高效编码 更少bug 智能:编辑器的支持,自动补全功能强大,减少调试时间。 简单:易于学习和使用 剪短:代码重复最小化,通过不同参数声明实现丰富的功能。 简装:生产可用级别的代码,还有自动生成的交互式文档。 标准化:基于(并完全兼容)API的相关开放标准: ......
FastAPI

Ubuntu部署FastApi项目

环境介绍 系统: Ubuntu 22.04 Pyhton版本:3.8.10 Fastapi版本:0.95.0 Gunicorn版本:20.1.0 准备工作 1. ssh 连接工具(本例使用基于Windows的Linux子系统中的ssh工具) 2. 配置nginx代理服务器 3. 配置Gunicorn ......
FastApi 项目 Ubuntu

FastAPI构建的简单示例

以下是一个使用FastAPI构建的简单示例: from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id} ......
示例 FastAPI

fastapi_mydemo

E:\song3\agv_backend_demo\gunicorn.conf.py # 监听内网端口 bind = '0.0.0.0:8001' # 工作目录 chdir = '/fsm/backend/app' # 并行工作进程数 workers = 4 # 指定每个工作者的线程数 thread ......
fastapi_mydemo fastapi mydemo

[FastAPI-41]文本相关的Response-PlainTextResponse-HTMLResponse

1.PlainTextResponse用来响应纯文本的数据 from fastapi import FastAPI from fastapi.responses import PlainTextResponse app = FastAPI() @app.get("/", response_class ......

[FastAPI-42]下载文件相关的Response-StreamingResponse文件类型-FileResponse直接下载

1. StreamingResponse支持文件类型的操作 from fastapi import FastAPI from fastapi.responses import StreamingResponse app = FastAPI() @app.get("/") def index(): d ......

[FastAPI-40]APIRouter使用

1. 文件结构 ├── main.py └── routers ├── blog.py └── user.py 2. blog.py from fastapi import APIRouter router = APIRouter() @router.get("/blogs") def blogs( ......
APIRouter FastAPI 40

[FastAPI-39]项目代码结构

代码结构 ── sql_app ├── main.py # 程序入口 ├── crud.py # 增删查改的方法 ├── database.py # 数据库相关 ├── models.py # ORM模型类相关 └── schemas.py # Pydantic的BaseModel,校验相关 ......
FastAPI 结构 代码 项目 39

[FastAPI-38]ORM SQLAlchemy 新建和更新

import typing from fastapi import FastAPI, HTTPException, Depends import pymysql from sqlalchemy import create_engine, Column, String, Integer from sq ......
SQLAlchemy FastAPI ORM 38

[FastAPI-37]ORM sqlalchemy 查询和删除

import typing from fastapi import FastAPI, HTTPException, Depends import pymysql from sqlalchemy import create_engine, Column, String, Integer from sq ......
sqlalchemy FastAPI ORM 37

FastAPI开发运维模板

main.py from typing import Union from fastapi import FastAPI from pydantic import BaseModel from typing import Optional import os app = FastAPI() clas ......
模板 FastAPI

[FastAPI-36]依赖注入yield-在路径操作函数结束时,会自动关闭db连接回收资源

from fastapi import Depends, FastAPI app = FastAPI(title="依赖注入yield", description="在路径操作函数结束时,会自动关闭db连接回收资源。及时在路径函数会出现异常报错,最终也会关闭连接。") def get_db(): d ......
路径 函数 FastAPI 资源 yield

[FastAPI-35]基于对象的依赖注入

from fastapi import Depends, FastAPI app = FastAPI(title="基于对象的依赖注入", description="检查指定的文本是否在查询参数q中") class FixedContentQueryChecker: def __init__(sel ......
对象 FastAPI 35

[FastAPI-34]基于类的依赖注入-推荐使用

from fastapi import Depends, FastAPI app = FastAPI() ''' 基于类的依赖注入 ''' BOOKS = [{"id": i, "name": f"book{i}", "status": i % 4 != 0} for i in range(1, 1 ......
FastAPI 34

[FastAPI-33]依赖注入-路径装饰器-全局

1. 路径装饰器 from fastapi import FastAPI, Header, HTTPException, Depends,status app = FastAPI() def verify_token(x_token: str = Header()): if x_token != " ......
全局 路径 FastAPI 33

[FastAPI-32]依赖注入缓存

from fastapi import Depends, FastAPI app = FastAPI() ''' 依赖注入缓存现象 - 依赖条件`get_num`被依赖了两次,但是你会发现其内部打印语句只打印了一次。也就是说, 第二次使用这个依赖条件时FastAPI并没有真正执行这个函数,而是直接使 ......
缓存 FastAPI 32

[FastAPI-31]嵌套注入

from typing import Union from fastapi import Depends, FastAPI app = FastAPI() ''' 嵌套注入 - 路径函数get_name需要的形参`username_or_nickname`有依赖条件,所以FastAPI会调用 `us ......
FastAPI 31

[FastAPI=30]依赖注入

from fastapi import FastAPI, Depends app = FastAPI(title="依赖注入") ''' 依赖注入 - 共享一块相同逻辑的代码块 - 共享数据库连接 - 权限认证,登录状态认证 ''' BOOKS = [{"id": i, "name": f"book ......
FastAPI 30

[FastAPI-29]用户注册API-File字段需要在 Form之前

import typing from fastapi import FastAPI, Form, File, UploadFile from pydantic import BaseModel app = FastAPI(title="注册接口") ''' 1. 需要输入 账号 密码 头像 ''' ......
字段 API-File 用户注册 FastAPI 用户

[FastAPI-28]上传多个文件

import typing from fastapi import FastAPI, File, UploadFile app = FastAPI(title="Form表单") ''' 上传多个文件 ''' @app.post("/files",summary="通过内存缓存上传多个文件") de ......
多个 FastAPI 文件 28

[FastAPI-27]上传文件为可选项

import typing from fastapi import FastAPI, File, UploadFile app = FastAPI(title="Form表单") ''' 上传文件为可选项 ''' @app.post("/upload_large_file", summary="上传 ......
FastAPI 文件 27

[FastAPI-26]Form表单接收数据,小文件上传

from fastapi import FastAPI,Form,File,UploadFile app = FastAPI(title="Form表单") ''' Form表单接收数据 ''' @app.post("/login",summary="登录") def login(username ......
表单 FastAPI 文件 数据 Form

[FastAPI-25]博客接口

import typing from fastapi import FastAPI, Query, HTTPException, status from fastapi.encoders import jsonable_encoder from pydantic import BaseModel a ......
接口 FastAPI 博客 25

[FastAPI-24]jsonable_encoder 序列化

import typing import json from fastapi import FastAPI, Response from fastapi.encoders import jsonable_encoder from datetime import datetime from pydan ......

[FastAPI-23]响应体pydantic dict方法

import typing from fastapi import FastAPI, Response from fastapi.responses import JSONResponse from pydantic import BaseModel app = FastAPI() ''' pyda ......
pydantic FastAPI 方法 dict 23

[FastAPI-23]过滤响应数据

import typing from fastapi import FastAPI, Response from fastapi.responses import JSONResponse from pydantic import BaseModel app = FastAPI() ''' 过滤响应 ......
FastAPI 数据 23