摘要:
FastAPI(33)- Global Dependencies 全局依赖 背景 对于某些实际应用场景,希望向整个应用程序添加一个全局依赖项 FastAPI 类的 dependences 参数 dependences 类型指定为 Optional[Sequence[Depends]] Sequenc 阅读全文
posted @ 2022-01-05 13:08
小学弟-
阅读(159)
评论(0)
推荐(0)
摘要:
FastAPI(32)- Dependencies in path operation 通过路径操作装饰器的 dependencies 参数声明依赖 背景 在某些实际场景中,并不需要使用依赖项的返回值,或者依赖项没有返回值,但仍需要执行这个依赖项 针对这种场景,可以向路径操作装饰器的 depende 阅读全文
posted @ 2022-01-05 13:07
小学弟-
阅读(68)
评论(0)
推荐(0)
摘要:
FastAPI(31)- Sub-dependencies 子依赖 子依赖 就是嵌套依赖,和嵌套 Pydantic Model 差不多意思 可以根据需求创建多层嵌套的依赖关系 比如上图,E 依赖 C、D,C、D 又依赖 B,B 又依赖 A..... 两层依赖的栗子 第一层依赖 from typing 阅读全文
posted @ 2022-01-05 13:06
小学弟-
阅读(77)
评论(0)
推荐(0)
摘要:
FastAPI(30)- Classes as Dependencies 类依赖注入 依赖项函数返回 dict 上一篇依赖注入文章中讲的依赖项函数返回值类型是 dict #!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 阅读全文
posted @ 2022-01-05 13:05
小学弟-
阅读(140)
评论(0)
推荐(0)
摘要:
FastAPI(29)- Dependencies 依赖注入的初步使用 FastAPI 的依赖注入 FastAPI 有一个非常强大但直观的依赖注入系统 它被设计为非常易于使用,并且使任何开发人员都可以非常轻松地将其他组件与 FastAPI 集成 什么是依赖注入 在编程中,为保证代码成功运行,先导入或 阅读全文
posted @ 2022-01-05 12:55
小学弟-
阅读(320)
评论(0)
推荐(0)
摘要:
FastAPI(28)- JSON Compatible Encoder 利器之 jsonable_encoder jsonable_encoder 在实际应用场景中,可能需要将数据类型(如:Pydantic 模型)转换为与 JSON 兼容的类型(如:字典、列表) 比如:需要将数据存储在数据库中 为 阅读全文
posted @ 2022-01-05 12:50
小学弟-
阅读(209)
评论(0)
推荐(0)
摘要:
FastAPI(27)- Handling Errors 处理错误 前言 许多情况下,需要向客户端返回一些特定的错误,比如 客户端没有足够的权限进行该操作 客户端无权访问该资源 客户端尝试访问的项目不存在 HTTPException 介绍 要将带有错误的 HTTP 响应(状态码和响应信息)返回给客户 阅读全文
posted @ 2022-01-05 12:46
小学弟-
阅读(127)
评论(0)
推荐(0)
摘要:
FastAPI(25)- File、Form 混合使用 前言 详解 Form 详解 File 路径函数混合使用 Form、File from fastapi import FastAPI, File, Form, UploadFile app = FastAPI() @app.post("/file 阅读全文
posted @ 2022-01-05 12:40
小学弟-
阅读(77)
评论(0)
推荐(0)
摘要:
FastAPI(26)- Path Operation Configuration 路径操作的配置 再次声明下,什么是路径操作 @app.get() @app.post() @app.put() @app.delete() ... 这些就是路径操作 那路径操作的配置,其实就是函数参数 为什么要讲配置 阅读全文
posted @ 2022-01-05 12:39
小学弟-
阅读(80)
评论(0)
推荐(0)
摘要:
FastAPI(24)- 详解 File,上传文件 前言 可以使用 FastAPI 提供的 File 定义客户端要上传的文件 学习 File 前最好先学习 Form:https://www.cnblogs.com/poloyy/p/15311533.html 安装 python-multipart 阅读全文
posted @ 2022-01-05 11:59
小学弟-
阅读(513)
评论(0)
推荐(0)
摘要:
FastAPI(23)- 详解 Form,发送表单数据 前言 form-data 表单格式的请求数据其实也是挺常见的 FastAPI 通过 Form 来声明参数需要接收表单数据 安装 python-multipart 要用 Form,需要先安装这个库 pip install python-multi 阅读全文
posted @ 2022-01-05 11:58
小学弟-
阅读(415)
评论(0)
推荐(0)
摘要:
FastAPI(22)- Pydantic Model 结合 Union、List 的使用场景 前言 有多个模型,且请求/响应需要声明多个模型的时候,可以根据不同使用场景结合 typing 库里面的 Union、List 来达到目的 Union 作用 联合类型,详细教程 使用 Union 时,建议首 阅读全文
posted @ 2022-01-05 11:57
小学弟-
阅读(203)
评论(0)
推荐(0)
摘要:
FastAPI(20)- Response Status Code 响应状态码 前言 和指定响应模型一样,可以在任何路径操作中添加参数 status_code,用于声明响应的 HTTP 状态码 @app.get() @app.post() @app.put() @app.delete() 最简单的栗 阅读全文
posted @ 2022-01-05 11:56
小学弟-
阅读(144)
评论(0)
推荐(0)
摘要:
FastAPI(21)- 多个模型的代码演进 前言 在一个完整的应用程序中,通常会有很多个相关模型,比如 请求模型需要有 password 响应模型不应该有 password 数据库模型可能需要一个 hash 加密过的 password 多个模型的栗子 需求 注册功能 请求输入密码 响应不需要输出密 阅读全文
posted @ 2022-01-05 11:56
小学弟-
阅读(62)
评论(0)
推荐(0)
摘要:
FastAPI(19)- Response Model 响应模型 前言 前面文章写的这么多路径函数最终 return 的都是自定义结构的字典 FastAPI 提供了 response_model 参数,声明 return 响应体的模型 什么是路径操作、路径函数 # 路径操作 @app.post("/ 阅读全文
posted @ 2022-01-05 11:55
小学弟-
阅读(230)
评论(0)
推荐(0)
摘要:
FastAPI(18)- 详解 Header,获取请求头 查看一个接口的 Header 进到某个网站,右键检查元素;或者直接 F12 找到 Network,选择一个请求,就能看到 Request Header、Response Header 啦 FastAPI 提供的 Header Header 是 阅读全文
posted @ 2022-01-05 11:54
小学弟-
阅读(569)
评论(0)
推荐(0)
摘要:
FastAPI(16)- 额外的数据类型 常见的数据类型 int float str bool 但 FastAPI 支持使用更复杂的数据类型 仍然能得到 FastAPI 的支持 IDE 智能提示 请求数据的数据类型转换 响应数据的数据类型转换 数据验证 自动注释和文档 复杂的数据类型 UUID 常见 阅读全文
posted @ 2022-01-05 11:53
小学弟-
阅读(61)
评论(0)
推荐(0)
摘要:
FastAPI(17)- 详解 Cookie,获取 Cookies 查看一个网站的 Cookies 进到某个网站,右键检查元素;或者直接 F12 找到 Application-Cookies 就能看到啦 FastAPI 提供的 Cookie Cookie 是 Path 和 Query 的“姐妹”类 阅读全文
posted @ 2022-01-05 11:53
小学弟-
阅读(114)
评论(0)
推荐(0)
摘要:
FastAPI(15)- 声明请求示例数据 前言 FastAPI 可以给 Pydantic Model 或者路径函数声明需要接收的请求示例,而且可以显示在 OpenAPI 文档上 有几种方式,接下来会详细介绍 Pydantic 的 schema_extra 可以使用 Config cass 和 sc 阅读全文
posted @ 2022-01-05 11:51
小学弟-
阅读(83)
评论(0)
推荐(0)
摘要:
FastAPI(14)- 路径操作函数参数的类型是一个嵌套 Pydantic Model 的使用场景 带有类型参数的字段 Python 有一种特定的方法来声明具有内部类型或类型参数的列表 其实前面都见过,就是 List[str] Set[str] Tuple[str] Dict[str, int] 阅读全文
posted @ 2022-01-05 11:50
小学弟-
阅读(72)
评论(0)
推荐(0)
摘要:
FastAPI(12)- 重名 Pydantic Model 会导致 OpenAPI 报错 背景 在一个 Python 模块中,如果包含两个同名的 Pydantic Model,访问 /docs 会报错哦 from typing import Optional import uvicorn from 阅读全文
posted @ 2022-01-05 11:49
小学弟-
阅读(95)
评论(0)
推荐(0)
摘要:
FastAPI(13)- 详解 Fields,针对 Pydantic Model 内部字段添加额外校验和元数据 前言 前面讲了 Query、Path、Body,均可以对某个字段进行额外的校验和添加元数据 这一篇来讲 Fields,它针对 Pydantic Model 内部字段进行额外的校验和添加元数 阅读全文
posted @ 2022-01-05 11:49
小学弟-
阅读(108)
评论(0)
推荐(0)
摘要:
FastAPI(11)- 函数参数类型是列表,但不使用 typing 中的 List,而使用 list,会怎么样? 使用 typing 中的 List、Set、Tuple 的栗子 from typing import Optional import uvicorn from fastapi impo 阅读全文
posted @ 2022-01-05 11:47
小学弟-
阅读(136)
评论(0)
推荐(0)
摘要:
FastAPI(10)- 详解 Body 前言 上一篇有讲到将参数类型指定为 Pydantic Model,这样 FastAPI 会解析它为一个 Request Body 那单类型(int、float、str、bool...)参数可以成为 Request Body 的一部分吗?答案是可以的 通过 B 阅读全文
posted @ 2022-01-05 11:46
小学弟-
阅读(314)
评论(0)
推荐(0)
摘要:
FastAPI(7)- 详解 Path 前言 上一篇讲了可以为查询参数添加额外的校验和元数据,Query 库 这篇讲可以为路径查询添加额外的校验和元数据,Path 库 Path 可以为路径参数添加额外的校验和元数据,跟 Query 的参数是一毛一样的 元数据 Path 也可以添加元数据相关信息,这些 阅读全文
posted @ 2022-01-05 11:45
小学弟-
阅读(128)
评论(0)
推荐(0)
摘要:
FastAPI(9)- 多个 Request Body Path、Query、Request Body 混合使用 from fastapi import FastAPI, Path, Query from typing import Optional from pydantic import Bas 阅读全文
posted @ 2022-01-05 11:45
小学弟-
阅读(164)
评论(0)
推荐(0)
摘要:
FastAPI(8)- 请求体 Request Body 前言 接口传参方式之一:通过发送请求体(Request Body)来传递请求数据 在 FastAPI,提倡使用 Pydantic 模型来定义请求体 这篇文章会详细讲不使用 Pydantic 和 使用 Pydantic 发送请求体的栗子 注意 阅读全文
posted @ 2022-01-05 11:43
小学弟-
阅读(345)
评论(0)
推荐(0)
摘要:
FastAPI(6)- 详解 Query 可选参数 上一篇文章讲过查询参数可以不是必传的,可以是可选参数 from fastapi import FastAPI from typing import Optional import uvicorn app = FastAPI() # 必传参数+可选参 阅读全文
posted @ 2022-01-05 11:42
小学弟-
阅读(213)
评论(0)
推荐(0)
摘要:
FastAPI(5)- 查询参数 Query Parameters 什么是查询参数? http://127.0.0.1:8000/get?name=xxx&age=18 http://127.0.0.1:8000/get?age=18&name=xxx 在 url 的 ? 后面跟着的一组或多组键值对 阅读全文
posted @ 2022-01-05 11:40
小学弟-
阅读(146)
评论(0)
推荐(0)
摘要:
FastAPI(4)- 路径参数 Path Parameters 什么是路径 假设一个 url 是: http://127.0.0.1:8080/items/abcd 那么路径 path 就是 /items/abcd 路径参数 就是将路径上的某一部分变成参数,可通过请求传递,然后 FastAPI 解 阅读全文
posted @ 2022-01-05 11:39
小学弟-
阅读(148)
评论(0)
推荐(0)
摘要:
FastAPI(3)- uvicorn.run() Uvicorn 基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器 它不是一个 Web 框架,而是一个服务器 例如,它不是一个提供路径路由的框架,这是 FastAPI 框架提供的东西 它是 Starlette 和 Fas 阅读全文
posted @ 2022-01-05 11:38
小学弟-
阅读(844)
评论(0)
推荐(0)
摘要:
FastAPI(2)- 快速入门 安装 FastAPI pip install fastapi # 将来需要将应用程序部署到生产环境可以安装 uvicorn 作为服务器 pip install uvicorn 最简单的代码栗子 from fastapi import FastAPI app = Fa 阅读全文
posted @ 2022-01-05 11:36
小学弟-
阅读(90)
评论(0)
推荐(0)
摘要:
协程 & asyncio & 异步编程 越来越多的学生都来问async异步相关问题,并且这一部分的知识点不太容易学习(异步非阻塞、asyncio) 异步相关话题和框架越来越多,例如:tornado、fastapi、django 3.x asgi 、aiohttp都在异步 -> 提升性能。 如何讲解? 阅读全文
posted @ 2022-01-05 10:09
小学弟-
阅读(167)
评论(0)
推荐(0)
浙公网安备 33010602011771号