随笔分类 - fastapi
摘要:FastAPI(54)- 详解 Request 请求对象 背景 前面讲了可以自定义 Response,那么这里就讲下请求对象 Request 可以通过 Request 来获取一些数据 获取请求基础信息 @app.get("/base") async def get_base(*, request:
阅读全文
摘要:FastAPI(53)- Response Headers 响应设置 Headers 前言 前面讲过如何获取 Headers:https://www.cnblogs.com/poloyy/p/15316932.html 也顺带提了下如何设置 Response Header,还是比较简单的 有两种实现
阅读全文
摘要:FastAPI(52)- Response Cookies 响应设置 Cookies 前言 前面讲过如何获取 Cookies:https://www.cnblogs.com/poloyy/p/15316660.html 也顺带提了下如何设置 Response Cookie,还是比较简单的 有两种实现
阅读全文
摘要:FastAPI(50)- 自定义响应之 RedirectResponse 更多自定义响应类型 JSONResponse ORJSONResponse、UJSONResponse HTMLResponse、PlainTextResponse StreamingResponse、FileResponse
阅读全文
摘要:FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse 更多自定义响应类型 JSONResponse HTMLResponse、PlainTextResponse ORJSONResponse、UJSONResponse RedirectResponse
阅读全文
摘要:FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse 背景 上一篇文章讲了通过 Response 自定义响应,但有一个缺点 如果直接返回一个 Response,数据不会自动转换,也不会显示在文档中 这一节开始讲自定义响应 会讲解多个响应类型 JSONR
阅读全文
摘要:FastAPI(47)- 通过 Response 自定义响应的类型 假设返回一个 XML 格式的响应 import uvicorn from fastapi import FastAPI, Response app = FastAPI() @app.get("/legacy/") def get_l
阅读全文
摘要:FastAPI(46)- JSONResponse 背景 创建 FastAPI 路径操作函数时,通常可以从中返回任何数据:字典、列表、Pydantic 模型、数据库模型等 默认情况下,FastAPI 会使用 jsonable_encoder 自动将该返回值转换为 JSON 字符串 然后,FastAP
阅读全文
摘要:FastAPI(45)- 返回响应数据的五种常见方式 实际代码 默认情况下,路径操作函数可以返回 Python 数据类型、Pydantic Model,FastAPI 会自动将它们转换为和 JSON 兼容的数据 #!usr/bin/env python # -*- coding:utf-8 _*-
阅读全文
摘要:FastAPI(44)- 操作关系型数据库 ORM FastAPI 可与任何数据库和任何样式的库配合使用并和数据库通信 object-relational mapping 对象关系映射 ORM 具有在代码和数据库表(关系)中的对象之间进行转换(映射)的工具 使用 ORM,通常会创建一个表示 SQL
阅读全文
摘要:FastAPI(43)- 基于 pytest + requests 进行单元测试 FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + Request 的
阅读全文
摘要:FastAPI(42)- Static Files 静态资源 安装 aiofiles pip install aiofiles 个人感想 现在都是前后端分离,感觉在 FastAPI 应用程序中直接使用静态资源的可能性不大,只做了解(也不难 使用 StaticFiles 访问静态资源 from fas
阅读全文
摘要:FastAPI(41)- Background Task 后台任务 后台任务 顾名思义,可以在返回响应后运行后台任务 这对于需要在请求后执行特定的操作很有用,且客户端并不需要在接收响应之前等待该操作完成 常见的栗子 发送电子邮件通知,由于连接到电子邮件服务器并发送电子邮件往往会比较“缓慢”(几秒钟)
阅读全文
摘要:FastAPI(40)- 大型应用程序的项目拆分 背景 假设要搭建一个测试平台,那么整个项目的 API 数量肯定很多个,他们不可能放在同一个文件中 FastAPI 提供了一个方便的工具来构建应用程序,同时保持所有的灵活性 项目架构 假设结构如下 . ├── app │ ├── __init__.py
阅读全文
摘要:FastAPI(39)- 使用 CORS 解决跨域问题 同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.html FastAPI 模拟跨域问题 htt
阅读全文
摘要:FastAPI(38)- 模拟一个跨域场景 同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.html 需要先了解什么是同源策略和 CORS 才能更好看
阅读全文
摘要:FastAPI(37)- Middleware 中间件 什么是中间件 就是一个函数,它在被任何特定路径操作处理之前处理每个请求,且在每个 response 返回之前被调用 类似钩子函数 执行顺序 中间件会接收应用程序中的每个请求 Request 针对请求 Request 或其他功能,可以自定义代码块
阅读全文
摘要:FastAPI(36)- FastAPI 的元数据配置和文档 URL Metadata 元数据 可以给 API 添加元数据 实际栗子 #!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 # blog: https://w
阅读全文
摘要:FastAPI(35)- 依赖项中使用 yield + Context Manager 上下文管理器 什么是 Context Manager 上下文管理器 在 Python 中,是可以在 with 语句中使用的任何 Python 对象,比如通过 with 来读取文件 with open("./som
阅读全文
摘要:FastAPI(34)- Dependencies with yield 依赖项中使用 yield 背景 FastAPI 支持在依赖项返回后执行一些额外的步骤 但需要用 yield 代替 return 来达到这一目的 版本要求 为了达到上述效果,需要使用 Python 3.7+ 或者在 Python
阅读全文
浙公网安备 33010602011771号