上一页 1 2 3 4 5 6 7 8 9 ··· 49 下一页
摘要: 后台任务 顾名思义,可以在返回响应后运行后台任务 这对于需要在请求后执行特定的操作很有用,且客户端并不需要在接收响应之前等待该操作完成 常见的栗子 发送电子邮件通知,由于连接到电子邮件服务器并发送电子邮件往往会比较“缓慢”(几秒钟),因此可以立即返回响应并在后台发送电子邮件通知 假设您到一个必须经过 阅读全文
posted @ 2021-09-29 20:38 小菠萝测试笔记 阅读(3286) 评论(0) 推荐(0) 编辑
摘要: 背景 假设要搭建一个测试平台,那么整个项目的 API 数量肯定很多个,他们不可能放在同一个文件中 FastAPI 提供了一个方便的工具来构建应用程序,同时保持所有的灵活性 项目架构 假设结构如下 . ├── app │ ├── __init__.py │ ├── main.py │ ├── depe 阅读全文
posted @ 2021-09-29 09:43 小菠萝测试笔记 阅读(1549) 评论(0) 推荐(0) 编辑
摘要: 同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.html FastAPI 模拟跨域问题 https://www.cnblogs.com/poloyy/ 阅读全文
posted @ 2021-09-28 15:50 小菠萝测试笔记 阅读(2113) 评论(0) 推荐(0) 编辑
摘要: 同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.html 需要先了解什么是同源策略和 CORS 才能更好看懂这篇文章 目录结构 — root/ | | 阅读全文
posted @ 2021-09-28 15:50 小菠萝测试笔记 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: 什么是同源策略 https://www.cnblogs.com/poloyy/p/15345184.html 同源策略带来的跨域问题 在前后端分离的项目中,前端和后端如果部署在同一个服务器,那么运行端口肯定不一样 当前端发起请求到后端,这个时候发送的首先是 option 请求,而不是真正的请求 后端 阅读全文
posted @ 2021-09-28 09:45 小菠萝测试笔记 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 同源策略 同源策略是一个重要的安全策略,它用于限制同一个 origin 的文档或者它加载的脚本如何能与另一个源的资源进行交互,它能帮助阻隔恶意文档,减少可能被攻击的媒介 Origin 源 源的组合 协议(http、https) 域(myapp.com、localhost、localhost.tian 阅读全文
posted @ 2021-09-27 20:47 小菠萝测试笔记 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 什么是中间件 就是一个函数,它在被任何特定路径操作处理之前处理每个请求,且在每个 response 返回之前被调用 类似钩子函数 执行顺序 中间件会接收应用程序中的每个请求 Request 针对请求 Request 或其他功能,可以自定义代码块 再将请求 Request 传回路径操作函数,由应用程序 阅读全文
posted @ 2021-09-27 19:38 小菠萝测试笔记 阅读(989) 评论(0) 推荐(0) 编辑
摘要: Metadata 元数据 可以给 API 添加元数据 实际栗子 #!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 # blog: https://www.cnblogs.com/poloyy/ # time: 2021 阅读全文
posted @ 2021-09-26 23:07 小菠萝测试笔记 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 管理外部资源的背景 在编程中会面临的一个常见问题是如何正确管理外部资源,例如文件、锁和网络连接 有时,程序会永远保留这些资源,即使不再需要它们,这种现象称为内存泄漏 因为每次创建和打开给定资源的新实例而不关闭现有资源时,可用内存都会减少 如何正确管理资源 正确管理资源通常是一个棘手的问题 它需要一个 阅读全文
posted @ 2021-09-26 20:13 小菠萝测试笔记 阅读(1439) 评论(0) 推荐(1) 编辑
摘要: 什么是上下文管理器 官方解释... 上下文管理器是一个对象 它定义了在执行 with 语句时要建立的运行时上下文 上下文管理器处理进入和退出所需的运行时上下文以执行代码块 上下文管理器通常使用 with 语句调用,但也可以通过直接调用它们的实例方法来使用 一顿花里胡哨猛如虎,结果我也不太懂 简单一句 阅读全文
posted @ 2021-09-26 20:05 小菠萝测试笔记 阅读(934) 评论(1) 推荐(2) 编辑
摘要: 什么是 Context Manager 上下文管理器 在 Python 中,是可以在 with 语句中使用的任何 Python 对象,比如通过 with 来读取文件 with open("./somefile.txt") as f: contents = f.read() print(content 阅读全文
posted @ 2021-09-25 16:23 小菠萝测试笔记 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 背景 FastAPI 支持在依赖项返回后执行一些额外的步骤 但需要用 yield 代替 return 来达到这一目的 版本要求 为了达到上述效果,需要使用 Python 3.7+ 或者在 Python 3.6 中安装 backports pip install async-exit-stack as 阅读全文
posted @ 2021-09-25 15:59 小菠萝测试笔记 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 背景 对于某些实际应用场景,希望向整个应用程序添加一个全局依赖项 FastAPI 类的 dependences 参数 dependences 类型指定为 Optional[Sequence[Depends]] Sequence 是序列,不仅可以接收 List,还可以接收 Set、Tuple 等 子类 阅读全文
posted @ 2021-09-25 14:23 小菠萝测试笔记 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 背景 在某些实际场景中,并不需要使用依赖项的返回值,或者依赖项没有返回值,但仍需要执行这个依赖项 针对这种场景,可以向路径操作装饰器的 dependencies 参数传入依赖项,而不使用 Depends() dependences 参数 dependences 类型指定为 Optional[Sequ 阅读全文
posted @ 2021-09-25 13:44 小菠萝测试笔记 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 子依赖 就是嵌套依赖,和嵌套 Pydantic Model 差不多意思 可以根据需求创建多层嵌套的依赖关系 比如上图,E 依赖 C、D,C、D 又依赖 B,B 又依赖 A..... 两层依赖的栗子 第一层依赖 from typing import Optional # 1、第一层依赖 def que 阅读全文
posted @ 2021-09-25 11:52 小菠萝测试笔记 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 依赖项函数返回 dict 上一篇依赖注入文章中讲的依赖项函数返回值类型是 dict #!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 # blog: https://www.cnblogs.com/poloyy/ # 阅读全文
posted @ 2021-09-25 10:19 小菠萝测试笔记 阅读(438) 评论(0) 推荐(0) 编辑
摘要: FastAPI 的依赖注入 FastAPI 有一个非常强大但直观的依赖注入系统 它被设计为非常易于使用,并且使任何开发人员都可以非常轻松地将其他组件与 FastAPI 集成 什么是依赖注入 在编程中,为保证代码成功运行,先导入或声明其所需要的【依赖】,如子函数、数据库连接等等 将依赖项的返回值注入到 阅读全文
posted @ 2021-09-25 10:19 小菠萝测试笔记 阅读(1165) 评论(0) 推荐(0) 编辑
摘要: jsonable_encoder 在实际应用场景中,可能需要将数据类型(如:Pydantic 模型)转换为与 JSON 兼容的类型(如:字典、列表) 比如:需要将数据存储在数据库中 为此,FastAPI 提供了一个 jsonable_encoder() 函数 jsonable_encoder 实际上 阅读全文
posted @ 2021-09-25 10:18 小菠萝测试笔记 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 前言 许多情况下,需要向客户端返回一些特定的错误,比如 客户端没有足够的权限进行该操作 客户端无权访问该资源 客户端尝试访问的项目不存在 HTTPException 介绍 要将带有错误的 HTTP 响应(状态码和响应信息)返回给客户端,需要使用 HTTPException HTTPException 阅读全文
posted @ 2021-09-25 10:17 小菠萝测试笔记 阅读(1375) 评论(0) 推荐(0) 编辑
摘要: 再次声明下,什么是路径操作 @app.get() @app.post() @app.put() @app.delete() ... 这些就是路径操作 那路径操作的配置,其实就是函数参数 为什么要讲配置 可以在 Swagger API 文档中显示这些参数,友好的显示相关信息 来看看有什么配置 resp 阅读全文
posted @ 2021-09-25 10:17 小菠萝测试笔记 阅读(302) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 49 下一页