FastApi教程|发行说明

发表时间:2020-03-09

最新的变化

0.52.0

  • 使用添加新的高性能JSON响应类 orjson 。 新文档: 自定义响应-HTML,流,文件等: ORJSONResponse 。 PR #1065

0.5-1.0

  • 从Starlette重新导出实用程序:
    • 这样就可以使用 from fastapi.responses import JSONResponse 代替之 类的东西 from starlette.responses import JSONResponse
    • 它主要是语法糖,为开发人员提供了便利。
    • 现在 Request Response WebSocket status 可以直接进口 fastapi 作为 from fastapi import Response 。 这是因为经常使用它们,直接使用请求,设置标头和cookie,获取状态代码等。
    • 文档在很多地方发生了变化,但是新文档和明显的改进:
      • 自定义响应-HTML,流,文件等
      • 高级中间件
      • 包括WSGI-Flask,Django等
    • PR #1064

0.50.0

  • 在文档的发行说明中添加有关固定版本以进行部署的链接。 PR #1058
  • 升级代码以使用最新版本的Starlette,包括:
    • 修复了一些错误。
    • 可选的斜杠重定向,带有或不以结尾 /
    • 路由器 "startup" 和的 事件 "shutdown"
    • PR #1057
  • 添加有关固定FastAPI版本以进行部署的文档: 部署:FastAPI版本 。 PR #1056

0.49.2

  • 修复发行说明中的​​链接。 PR #1052 通过 @sattosan
  • 修复发行说明中的​​错字。 PR #1051 by @sattosan
  • 重构/澄清 serialize_response 参数名称,以避免混淆。 PR #1031 by @patrickmckenna
  • 重构在隔离的函数中调用路径操作的处理函数的每个函数,以简化性能分析。 PR #1027 by @ sm-Fifteen
  • 添加缺少的依赖项以进行测试。 PR #1026 by @ sm-Fifteen
  • 修复接受响应模型的有效类型,包括Python类型,如 List[int] 。 PR #1017 by @patrickmckenna
  • 在SQL教程中修复格式。 PR #1015 通过 @vegarsti

0.49.1

  • 修复在依赖项和路径操作函数中使用路径操作重复的参数。 PR #994 @ merowinger92
  • 更新Netlify预览了部署GitHub动作,因为该修补程序已经合并,并且有新版本。 PR #1047
  • 将mypy配置移动到配置文件。 PR #987 通过 @ hukkinj1
  • 对Netlify预览的临时修复无法从分支的PR中部署。 PR #1046 通过 @mariacamilagl

0.49.0

  • 修复 pathlib 路径 编码 jsonable_encoder 。 PR #978 @patrickmckenna提供
  • 外部链接中 添加文章 : PythonのWeb框架のパフォーマンス比较(Django,Flask,responder,FastAPI,japronto) [FastAPI] Python制のASGI WebフFastームワークFastAPIに入门する 。 PR #974 通过 @tokusumi
  • 修复文档中损坏的链接。 PR #949 @tsotnikov
  • 解决小错别字。 PR #941 通过 @NikitaKolesov
  • 使用来更新和澄清文档的依赖性 yield 。 PR #986
  • 在文档中添加对图的Mermaid JS支持。 将第一个图添加到 Dependencies:第一步 Dependencies和 yield HTTPException 。 PR #985
  • 更新CI以在GitHub操作中运行文档部署。 PR #983
  • 允许使用 callable s 路径操作功能 ,例如用修改的功能 functools.partial 。 PR #977

0.48.0

  • 首先在测试中运行linters,以更快地出错。 PR #948
  • email-validator 仅在使用时 记录警告 。 PR #946
  • 使用简化 具有双重依赖关系的 Peewee文档 yield 。 PR #947
  • 添加文章 外部链接 创建FastAPI应用并将其部署到Heroku 。 PR #942 通过 @windson
  • 更新Sanic的描述,因为它现在也是ASGI。 PR #932 by @raphaelauv
  • 修复主页中的错字。 PR #920 通过 @mMarzeta
  • 修复可能无效主体的解析。 PR #918 @dmontagu
  • 修正错字 #916 通过 @adursun
  • 允许 Any OpenAPI中的枚举类型。 PR #906 通过 @songzhi
  • 外部链接中 添加文章 : 如何使用AWS SAM将FastAPI连续部署到AWS Lambda 。 PR #901 通过 @iwpnd
  • 添加有关在不使用Pydantic的情况下使用Body参数的注释。 PR #900 通过 @pawamoy
  • 修复Pydantic字段克隆逻辑。 PR #899 通过 @ deuce2367
  • 修复中间件文档中的链接。 PR #893 @ linchiwei123提供
  • 为了保持一致性,将默认API标题从“ Fast API”重命名为“ FastAPI”。 PR #890

0.47.1

  • 修复筛选模型 response_model ,克隆子模型。 PR #889
  • 使用ORM模式阻止事件循环修复Pydantic模型的FastAPI序列化。 PR #888

0.47.0

  • 重构文档,以制作更简单,更短的《 教程-用户指南》, 以及 包含所有其他文档 的附加《 高级用户指南》 。 PR #887
  • 调整外部链接,Markdown格式,错别字。 PR #881
  • 修复了处理HTTP Basic Auth username 和的 教程中的错误 password 。 PR #865 @isaevpd提供
  • 修复处理表单 路径操作 用纯类中声明的参数喜欢 list tuple 等PR #856 @nsidnev
  • body RequestValidationError 新文档 添加请求 : 使用 RequestValidationError body 。 初始PR #853 通过 @aviramha
  • 使用新链接和带有 主题的 动态GitHub项目 更新 外部链接 fastapi 。 PR #850
  • 修复 contextvars docs中的 Peewee 处理: 使用Peewee的SQL(关系)数据库 。 PR #879
  • 使用Python的Venv和Flit设置开发环境,而不需要额外的Pipenv复制依赖项。 更新的文档: Development-Contributing 。 PR #877
  • 更新用于 HTTP基本 身份 验证的 文档, 以提高针对定时攻击的安全性。 初始PR #807 通过 @zwass

0.46.0

  • 修正错别字并调整配置。 PR #837
  • 在“ 外部链接 ”中将 链接 添加到中文文章 。 PR 810 通过 @ wxq0309
  • 实施 OAuth2AuthorizationCodeBearer 课程。 PR #797 通过 @kuwv
  • 在文档主页中更新示例升级。 PR #795 通过 @cdeil
  • 修复子路由器的回调处理。 PR #792 @jekirl
  • 修正错别字。 PR #784 @kkinder
  • 外部链接中 添加4条日文文章 。 PR #783 通过 @HymanZHAN
  • 在中添加对主要类型的子类型的支持 jsonable_encoder ,例如asyncpg的UUID。 PR #756 通过 @RmStorm
  • 修复 HttpUrl 了文档 中Pydantic的用法 。 PR #832 通过 @Dustyposa
  • 修复文档中的Twitter链接。 PR #813 通过 @justindujardin
  • 添加文档以 将FastAPI与Peewee ORM一起 正确 使用 。 包括如何覆盖Peewee的各个部分以正确处理异步线程。 PR #789

0.45.0

  • 添加对OpenAPI回调的支持:
    • 新文档: OpenAPI回调
    • operationId s的 生成重构 为有效的Python名称(在大多数语言中也是有效的变量)。
    • default_response_class 参数 添加 到 APIRouter
    • 原PR #722 通过 @booooh
  • 重构日志以在各处使用相同的记录器,更新日志字符串和级别。 PR #781
  • 外部链接中 添加文章 : ПочемуВыдолжныпопробоватьFastAPI? 。 PR #766 @prostomarkeloff提供
  • 消除文档中的性别偏见,以处理错误。 PR #780 @classywhetten 在PR #761中 的 原始想法 。
  • 重命名文件和引用 body-schema ,以 body-fields 保持符合Pydantic。 PR #746 by @prostomarkeloff

0.44.1

  • 将GitHub社交预览图像添加到git中。 PR #752
  • 更新PyPI“搜索分类器”。 PR #751
  • 添加对Python 3.8的完全支持。 在Travis中完全启用Python 3.8。 PR 749
  • 更新“新问题”模板。 PR #749
  • 修复异种Pydantic类型的错误的序列化。 PR #748 @dmontagu

0.44.0

  • 添加GitHub动作 问题管理器 。 PR #742
  • 修复文档中的错别字。 PR 734 通过 @bundabrg
  • 修复 custom_encoder in中的 用法 jsonable_encoder 。 PR #715 @matrixise
  • 修复无效的XML示例。 PR 710 通过 @OcasoProtal
  • 修正拼写错误并更新部署文档中的措辞。 PR #700 @ marier-nico提供
  • APIRouter 文档中 添加有关依赖项的注释 。 PR #698 @ marier-nico
  • 通过 @ frankie567将对 异步类方法的支持添加为依赖项 #681
  • 将带有Swagger UI速查表的FastAPI添加到外部链接。 PR #671 @ euri10
  • 修复CORS示例中HTTP协议中的拼写错误。 PR #647 @forestmonster提供
  • 添加对Pydantic版本 1.0.0 及更高 版本的支持, 并具有 对Pydantic的 临时(不建议使用)向后兼容性 0.32.2 。 PR #646, 来自 @dmontagu

0.43.0

  • 更新文档以减少性别偏见。 PR #645 通过 @ticosax
  • 添加有关 基于函数名称 覆盖 operationId 所有 路径操作 的 文档 。 PR #642 通过 @SKalt
  • 修复模型中的验证器,生成不正确的密钥顺序。 PR #637 @jaddison
  • 为没有内容的响应生成正确的OpenAPI文档。 PR #621 通过 @brotskydotcom
  • $ 从docs中的Bash代码块中 删除 以保持一致性。 PR #613 通过 @nstapelbroek
  • 添加用于 自服务文档(Swagger UI)静态资产 的文档,例如以脱机使用文档或不使用Internet。 初始PR #557 通过 @svalouch
  • black 升级后 修复 棉绒。 PR #682 通过 @ frankie567

0.42.0

  • 添加依赖项 yield ,也称为退出步骤,上下文管理器,清理,拆卸...
    • 这样就可以在完成依赖后添加额外的代码。 例如,它可用于关闭数据库连接。
    • 与的依赖关系 yield 可以是normal或 async FastAPI 将在 线程池中 运行常规的依赖关系。
    • 它们可以与常规依赖项结合使用。
    • 可能具有任意树/级别的依赖关系, yield 并且退出步骤会以正确的顺序自动处理。
    • 默认情况下,它在Python 3.7或更高版本中有效。 对于Python 3.6,它需要额外的反向端口依赖项:
      • async-exit-stack
      • async-generator
    • 与Dependencies相关的 yield 新文档 。
    • 更新了数据库文档 SQL(关系)数据库:Main FastAPI 应用程序
    • PR #595
  • sitemap.xml 在网站上 修复 。 PR #598 by @samuelcolvin

0.41.0

  • 将Starlette升级到 0.12.9 ,新的范围是 >=0.12.9,<=0.12.9
    • 在添加 State 到FastAPI应用程序 app.state
    • PR #593
  • 改善 Request s和 APIRoute s 的自定义类的处理 。
    • 这有助于更轻松地解决以下用例:
      • 在请求之前和/或之后读取主体(相当于中间件)。
      • 仅对 路径操作 的子集运行类似中间件的代码 。
      • 在将请求传递给 路径操作功能 之前,先对其进行处理 。 例如解压缩,反序列化等
      • 路径操作函数 生成之后 但返回之前 处理响应 。 例如,添加自定义标头,记录日志,添加额外的元数据。
    • 新的文档部分: Custom Request和APIRoute类
    • PR #589 @dmontagu提供
  • 包括其他子路由器时,修复在路由器中保留自定义路由类的问题。 PR #538 by @dmontagu

0.40.0

  • 向文档添加有关 python-multipart 使用表单时进行 安装的注释 。 PR #574 通过 @sliptonic
  • 以字母顺序生成OpenAPI模式。 PR #554 by @dmontagu
  • 增加了对从 路径操作函数 截断文档字符串的支持 。
    • 来自docstring的高级说明中的 新文档 。
    • PR #556 通过 @svalouch
  • 修复 DOCTYPE 了为Swagger UI和ReDoc生成的HTML文件。 PR #537 通过 @ TRIM21
  • 修复 4XX 覆盖默认 422 验证错误响应的 处理 响应。 PR #517 @tsouvarev
  • 修复了 简单HTTP基本 身份 验证 文档中的拼写错误 。 PR #514 @prostomarkeloff提供
  • 第一步中 修复不正确的文档示例 。 PR #511 通过 @IgnatovFedor
  • 使用参数 添加对Swagger UI initOauth 设置的 支持 swagger_ui_init_oauth 。 PR #499 @zamiramir

0.39.0

  • 允许路径参数具有默认值(例如 None )并丢弃它们而不是引发错误。
    • 这样就可以声明 user_id: str = None 可以从查询参数中获取的参数,但是具有 path 的路由器中可以包含 相同的 路径操作 /users/{user_id} ,在这种情况下,将从该路径中获取该参数,这是必需的。
    • PR #464 by @jonathanunderwood
  • 添加对 default_response_class FastAPI 或中 设置的支持 include_router 。 初始PR #467 通过 @toppk
  • 使用字符串和添加对类型注释的支持 from __future__ import annotations 。 PR #451 @dmontagu

0.38.1

  • 修复错误的 Request 类导入。 PR #493 通过 @kamalgill

0.38.0

  • 将最新文章添加到“ 外部链接” 和最新意见。 PR #490
  • Starlette的升级支持范围包括 0.12.8 。 新范围是 >=0.11.1,<=0.12.8" 。 PR #477 @dmontagu
  • 将支持升级到Pydantic版本0.32.2,并更新内部代码以使用它(重大更改)。 PR #463 @dmontagu

0.37.0

  • 为高级用例添加对自定义路由类的支持。 PR #468 @dmontagu
  • 允许在ReDoc中禁用Google字体。 PR #481 @ b1-luettje提供
  • 解决安全问题:返回响应模型的子类并使用 skip_defaults 它可能泄漏信息。 PR #485 @dmontagu
  • 为Python 3.8-dev启用测试。 PR #465 @Jamim
  • 在中添加对Pydantic数据类的支持和测试 response_model 。 PR #454 @dconathan提供
  • 修复OAuth2 JWT教程中的错字。 PR #447 通过 @pablogamboa
  • 使用 params media_type 中的 Body() 参数为OpenAPI设置媒体类型 requestBody 。 PR #439 通过 @divums
  • 通过 https://www.linkedin.com/in/nico-axtmann 添加文章 使用ONNX和FastAPI部署scikit-learn模型 。 PR #438 通过 @naxty
  • 允许 422 在OpenAPI中 设置自定义 (验证错误)响应/模式。
    • 并使用响应类中的媒体类型,而不是固定的 application/json (默认)。
    • PR #437 通过 @divums
  • 同时修正使用 "default" 额外的响应和状态码的问题。 PR #489
  • 允许其他响应使用状态代码范围(例如 5XX 4XX )和 "default" 。 PR #435 通过 @divums

0.36.0

  • 修复 skip_defaults 返回Pydantic模型时的 实现 。 PR #422 by @dmontagu
  • 在多个地方对同一 路径操作 使用相同的依赖项时,修复OpenAPI的生成 。 PR #417 by @dmontagu
  • 与 和一起 使用的 路径操作中 允许有空路径 。 include_router prefix
    • 这样一来,路由器可以进行 /cats 所有 路径操作 ,而其中一个可以用于 /cats
    • 现在,它不必仅仅是 /cats/ (带有斜线)。
    • 要使用它,请将 路径操作 中的 路径 声明 为空字符串( "" )。
    • PR #415 通过 @vitalik
  • 合并PR#415后修复mypy错误。 PR #462

0.35.0

  • 修正路由中的错字 assert 。 PR #419 通过 @pablogamboa
  • 修复文档中的错字。 PR #411 @bronsen提供
  • 修复解析使用声明的主体类型的问题 Union 。 PR #400 通过 @koxudaxi

0.34.0

  • 升级Starlette支持的范围以包括最新版本 0.12.7 。 新范围是 0.11.1,<=0.12.7 。 PR #367 @dedsm

  • 对于OpenAPI的模式与重复模型从PR加入测试 #333 通过 @dmontagu 。 PR #385

0.33.0

  • 将Pydantic版本升级到 0.30.0 。 PR #384 通过 @jekirl

0.32.0

  • 修复文档中的错字功能。 PR #380 通过 @MartinoMensio

  • 固定源代码 limit ,例如在“ 查询参数”中 。 PR #366 通过 @Smashman

  • 更新有关 OAuth2范围的 文档中的措辞 。 PR #371 @ cjw296提供

  • 更新的文档, Enum 以继承 str 和改进Swagger UI呈现。 PR #351

  • 修复回归,再次添加Swagger UI深层链接。 PR #350

  • 加入测试在具有路径模板 prefix .include_router 。 PR #349

  • 在文档中添加注释: 多次包含同一路由器,而不同 prefix 。 PR #348

  • 修复具有相同名称(在不同模块中)且具有相同复合主体的两个函数的OpenAPI / JSON Schema生成。

    • 现在,复合实体的ID不仅基于路径名称,而且还基于路径,因为自动生成的名称使用功能名称,可以在不同的模块中重复这些功能名称。
    • 相同的新ID生成适用于响应模型。
    • 这也会更改这些模型的生成的标题。
    • 仅复合体和响应模型会受到影响,因为它们是动态生成的,它们没有模块(Python文件)。
    • 这也增加了使用的可能性, .include_router() 以相同的 APIRouter 多个 次,用不同的前缀,如 /api/v2 /api/latest ,现在将正常工作。
    • PR #347

0.31.0

  • 将Pydantic支持的版本升级到 0.29.0
    • 支持的新版本范围是 "pydantic >=0.28,<=0.29.0"
    • 这增加了对Pydantic 通用模型的 支持,@dmontagu表示 了 赞扬
    • PR #344

0.3±0.1

  • 在文档中添加有关 外部链接和文章的部分 。 PR #341

  • Pipfile.lock 从存储库中 删除 ,因为它仅由FastAPI贡献者(FastAPI本身的开发人员)使用。 有关更多详细信息,请参见PR。 PR #340

  • 有关 帮助FastAPI的 更新部分 -获取帮助 。 PR #339

  • 优化内部类型声明以改善/消除用户代码中的Mypy错误。 PR #338

  • 使用SQLAlchemy 更新和阐明 SQL教程 。 PR #331 @mariacamilagl提供

  • 将SQLite 在线查看器 添加 到docs中 。 PR #330 通过 @cyrilbois

0.30.0

  • 添加对Pydantic的ORM模式的支持:

    • 更新了有关SQLAlchemy与SQL的文档,使用具有ORM模式的Pydantic模型,具有关系的SQLAlchemy模型,文件分离,代码简化和其他更改。 新文档: SQL(关系)数据库
    • 对ORM模式的新支持修复了与ORM相关的问题/添加的功能,这些功能具有延迟加载,混合属性,动态/获取 @property 器 (使用 装饰器)和其他几个用例。
    • 这适用于SQLAlchemy,Peewee,Tortoise ORM,GINO ORM等ORM,以及几乎所有其他ORM。
    • 如果您的 路径操作 返回具有属性的任意对象(例如 my_item.name 而不是 my_item["name"] ),并且您使用 response_model ,请确保 orm_mode = True 按照docs(上面的链接)中所述 更新Pydantic模型 。
    • 关于将plain接收 dict 为请求主体的 新文档 : 任意 dict s的 实体
    • 有关 dict 在响应中 返回任意 s的 新文档 : 任意响应 dict
    • 技术细节
      • 声明a时, response_model 它直接用于根据 路径操作函数 返回的内容生成响应内容 。
      • 在此之前,首先传递返回内容 jsonable_encoder 以确保它是一个“可JSON化的”对象(例如) dict ,而不是具有属性的任意对象(例如ORM模型)。 因此,您应该确保为具有要使用的属性的对象更新Pydantic模型 orm_mode = True
      • 如果没有 response_model ,则返回对象仍将首先传递 jsonable_encoder
      • response_model 被宣布,同一 response_model 类型声明不会直接使用,这将是“克隆”来创建一个新的(克隆Pydantic Field 所有克隆以及子模型)。
      • 这样可以避免/解决潜在的安全问题:当返回的对象直接传递给Pydantic时,如果返回的对象是的子类 response_model (例如,您返回的 UserInDB 继承自 User 但包含其他字段,例如 hashed_password User 则用于 response_model ),它仍然会通过验证(因为 UserInDB 是的子类 User ),并且该对象将原样返回,包括 hashed_password 。 为解决此问题,如果声明的 response_model 是Pydantic模型类(或在其中包含Pydantic模型类,例如在中 List[Item] ),则将其声明为Pydantic模型类的另一种(“克隆的”类)。 因此,作为子类的对象将不会简单地通过验证并按原样返回,因为它不再是克隆对象的子类。 response_model 。 相反,将使用返回的对象的内容创建一个新的Pydantic模型对象。 因此,它将是一个新对象(由返回的对象中的数据构成),并将由cloned过滤, response_model 通常只包含声明的字段。
    • PR #322
  • 删除/清除路由中未使用的RegEx代码。 PR #314 @dmontagu

  • 对其他响应使用默认响应状态代码描述。 PR #313 @duxiaoyao提供

  • 将Pydantic支持升级到 0.28 。 PR #320 by @jekirl

0.29.1

  • 修复处理带有所需body参数的空请求。 PR #311

  • 修复docs中损坏的链接: 直接返回响应 。 PR #306 @dmontagu

  • 修复 响应模型 文档中的文档差异 。 PR #288 通过 @awiddersheim

0.29.0

  • 添加对声明 Response 参数的 支持 :
    • 这允许声明:
      • 响应Cookie
      • 响应标题
      • 与默认状态不同的HTTP状态代码: 响应-更改状态代码
    • 所有这些同时仍然能够返回任意对象( dict ,DB模型等)。
    • 更新归因于拥抱的属性,以激发 response 参数模式。
    • PR #294

0.28.0

  • 为每个请求实现依赖项缓存。

    • 这样避免了为同一请求多次调用每个依赖项。
    • 这在调用外部服务,执行昂贵的计算等时很有用。
    • 这也意味着,如果将某个依赖项声明为 路径操作装饰器 依赖项(可能在路由器级别(带有 .include_router() )),然后在特定的 路径操作中 再次声明 该依赖项,则该依赖项将仅被调用一次。
    • 可以根据依赖声明禁用高速缓存,使用 use_cache=False 中的 Depends(your_dependency, use_cache=False)
    • 文档更新: 多次使用相同的依赖项
    • PR #292
  • 实施依赖覆盖以进行测试。

    • 这允许在测试期间使用依赖项的替代/替代。
    • 新文档: 使用覆盖测试依赖项
    • PR #291

0.27.2

  • 修复路径和查询参数 dict 作为有效类型 接收 的问题。 应该将其映射到主体有效负载。 PR #287 。 在以下位置更新了文档: 查询参数列表/多个默认值:使用 list

0.27.1

  • 修复 安全方案中的 auto_error=False 处理 HTTPBearer 。 不要 raise 当有一个不正确的 Authorization 头,如果 auto_error=False 。 PR #282

  • 修复的类型声明 HTTPException 。 PR #279

0.27.0

  • 使用范围修复有关OAuth 2.0的文档中的断开链接。 PR #275 by @dmontagu

  • 使用Pydantic重构参数提取 Field

    • 重构,改进和简化从 路径操作中 提取参数的过程 。
    • 修复/添加了对 具有列表默认值的 列表 查询参数的 支持 。 新文档: 查询参数列表/多个默认值
    • 添加对 路径操作 参数中 枚举的支持 。 新文档: 路径参数:预定义值
    • 使用中的 Optional as 添加对类型注释的支持 param: Optional[str] = None 。 新文档: 可选类型声明
    • PR #278

0.26.0

  • 针对验证错误的单独错误处理。

    • 这将使开发人员可以自定义异常处理程序。
    • 更好地记录如何处理异常和使用错误处理程序。
    • 包含 RequestValidationError WebSocketRequestValidationError ( 合并了 encode / starlette#527 或等效 符号后, 最后一个将很有用 )。
    • 有关异常处理程序的新文档:
      • 安装自定义异常处理程序
      • 覆盖默认的异常处理程序
      • 重用 FastAPI的 异常处理程序
    • PR #273
  • 修复对 路径 参数 中的 路径的 支持, 而无需显式 Path(...)

    • PR #256
    • 在PR记录 #272 通过 @wshayes
    • 新文档位于: 路径包含path的参数
  • 更新文档以测试FastAPI。 包括using POST ,发送JSON,测试标头等。新文档: Testing 。 PR #271

  • 修复的类型声明, response_model 以允许通用Python类型为 List[Model] 。 主要 mypy 为用户 修复 。 PR #266

0.25.0

  • 添加Pydantic的支持 include exclude by_alias

    • 更新文档: 响应模型
    • 添加文档: body更新 ,使用Pydantic的 skip_defaults
    • 添加方法一致性测试。
    • PR #264
  • CONTRIBUTING.md 文件 添加 到GitHub,以帮助新的贡献者。 PR #255 通过 @wshayes

  • 添加对Pydantic的支持 skip_defaults

    • 有一个新的 路径操作装饰器 参数 response_model_skip_defaults
      • 参数的名称将在未来的版本,以最有可能发生变化 response_skip_defaults model_skip_defaults 或者类似的东西。
    • 有关使用的 response_model_skip_defaults 文档部分
    • PR #248 通过 @wshayes

0.24.0

  • 添加对具有依赖项和参数的WebSocket的支持。

    • 支持包括:
      • Depends
      • Security
      • Cookie
      • Header
      • Path
      • Query
      • ...因为它们与WebSockets协议兼容(例如 Body ,不 兼容 )。
    • 更新了WebSockets的文档
    • PR #178 通过 @jekirl
  • 将Pydantic的兼容版本升级到 0.26.0

    • 这包括对IP地址和网络对象的JSON模式支持,错误修复和其他功能。
    • PR #247 通过 @ euri10

0.23.0

  • 将Starlette的兼容版本升级到 0.12.0

    • 这包括对ASGI 3(标准的最新版本)的支持。
    • 现在可以将 Starlette's StreamingResponse 与迭代器结合使用,例如类似 文件的 对象(由所返回的对象 open() )。
    • 现在可以使用 iterate_in_threadpool from中 的低级实用程序 starlette.concurrency (用于高级方案)。
    • PR #243
  • 为Swagger UI添加OAuth2重定向页面。 这允许在Swagger UI文档中委派身份验证。 为此,您需要 {your_origin}/docs/oauth2-redirect 在OAuth2提供程序(在Auth0,Facebook,Google等)中 添加 到允许的回调中。

    • 例如,在开发过程中,可能为 http://localhost:8000/docs/oauth2-redirect
    • 请记住,此回调URL与前端使用的URL无关。 您可能还会在处有另一个回调 https://yourdomain.com/login/callback
    • 这仅允许使用Swagger UI在API文档中进行委托身份验证。
    • PR #198 @steinitzu
  • 使Swagger UI和ReDoc路由处理程序( 路径操作 )成为 async 函数而不是lambda可以提高性能。 PR #241 通过 @ TRIM21

  • 使Swagger UI和ReDoc URL可参数化,从而允许托管和提供它们的本地版本以及脱机文档。 PR #112 @ euri10

0.22.0

  • 添加对 dependencies 参数的 支持 :

    • 路径操作装饰器中的 一个参数 ,用于应执行的依赖关系,但返回值不重要或在 路径操作函数中 未使用 。
    • .include_router() FastAPI应用程序和路由器方法中的 参数 ,以包括应 在路由器的 每个 路径操作 中 执行的依赖项 。
      • 例如,这对于在特定的 路径操作 组中要求身份验证或权限很有用 。
      • 不同 dependencies 可以应用于不同的路由器。
    • 它们 dependencies 在常规参数依赖项之前运行。 并且正常的依赖项也运行。 它们可以组合。
    • 首先执行在路由器中声明的依赖关系,然后执行在 路径操作装饰器中 定义的依赖关系,然后执行 在常规参数中声明的 依赖关系 。 它们全部合并并执行。
    • 所有这些还支持 在这些 参数中 使用 Security with ,以用于具有范围的更高级的OAuth 2.0安全方案。 scopes dependencies
    • 关于 路径操作装饰器 依赖关系的 新文档 。
    • 有关 方法中 依赖项的 include_router() 新文档 。
    • PR #235
  • 修复Starlette URL转换器的OpenAPI文档。 使用 path 转换器将整个路径作为参数 时特别有用 ,例如 /some/url/{p:path} 。 PR #234 @ euri10

  • 将默认参数实用程序从 fastapi be而不是类 导出 (新函数返回这些类的实例)。 为了能够覆盖返回类型并修复 mypy FastAPI用户代码中的错误。 适用于 Path Query Header Cookie Body Form File Depends ,和 Security 。 PR #226 和PR #231

  • 独立开发的脚本 test.sh lint.sh format.sh 。 PR #232

  • 重新启用 black Python 3.7的格式检查。 PR #229 @zamiramir

0.21.0

  • 关于主体解析错误,请提出 from 先前的异常,以更好地自省日志记录代码。 PR #192 @ricardomomm

  • 使用名为“ fastapi ”的 Python记录器, 而不是根记录器。 PR #222 通过 @ euri10

  • 将Pydantic升级到0.25版。 PR #225 通过 @ euri10

  • 修复路由输入错误。 PR #221 by @djlambert

0.20.1

  • 将类型信息添加到包中,包括文件 py.typed 。 PR #209 通过 @meadsteve

  • 添加用于Gitter的FastAPI机器人。 自动宣布新版本。 PR #189

0.20.0

  • 升级OAuth2:

    • 使用Bearer令牌升级密码流,以使用 UNAUTHORIZED 带有 WWW-Authenticate 标题 的正确HTTP状态代码401 。
    • 更新,简化和完善所有 安全文档
    • 添加新的 scope_str SecurityScopes 和更新文档: OAuth2用户作用域
    • 更新文档,图像,测试。
    • PR #188
  • 在文档中 包括 Hypercorn 作为备用ASGI服务器。 PR #187

  • 静态文件 模板 添加文档 。 PR #186

  • 添加用于处理 响应Cookie 响应标题的 文档 。 PR #185

  • 修复文档中的错别字。 PR #176 @chdsbd提供

0.19.0

  • 路径操作装饰器 参数 重命名 content_type response_class 。 PR #183

  • 添加文档:

    • 如何使用 jsonable_encoder JSON兼容编码器
    • 如何 直接返回响应
    • 更新如何使用 自定义响应类
    • PR #184

0.18.0开始

  • 添加用于 HTTP基本 身份 验证的 文档 。 PR #177

  • 使用自动标头(自动浏览器登录提示)升级HTTP Basic Auth处理。 PR #175

  • 更新依赖关系以提高安全性。 PR #174

  • 添加有关 Middleware的 文档 。 PR #173

0.17.0或更新

  • 使Flit从CI发布。 PR #170

  • 添加有关处理 CORS(跨源资源共享)的 文档 。 PR #169

  • 默认情况下,按别名编码。 alias 默认情况下, 这允许使用Pydantic 参数。 PR #168

0.16.0

  • 升级 路径操作 docstring 解析以支持正确的Markdown描述。 路径操作配置中的 新文档 。 PR #163

  • 重构Pydantic的内部用法以使用正确的数据类型。 PR #164

  • 将Pydantic升级到版本 0.23 。 PR #160 @ euri10

  • 修复有关额外模型的教程中的错字。 PR #159 @danielmichaels

  • 修复 文档中的 查询参数 URL示例。 PR #157 通过 @早田,山本

0.15.0

  • 添加对多个文件上传的支持(作为单个表单字段)。 的新文档: 多个文件上传 。 PR #158

  • 添加以下文档: 附加状态代码 。 PR #156

0.14.0

  • 在OpenAPI中 改进自动生成的 路径操作 名称 (在API文档中)。 一个函数 read_items 而不是具有生成的名称“读取项目获取” 的函数 将具有“读取项目”。 PR #155

  • 添加文档: 测试 FastAPI 。 PR #151

  • 更新 /docs Swagger UI以启用深度链接。 这允许共享直接指向 文档中 路径操作 文档 的URL 。 PR #148 @wshayes

  • 更新开发依赖项 Pipfile.lock 。 PR #150

  • 包括猎鹰和拥抱: 替代,灵感和比较

0.13.0

  • 使用以下方法改善/升级OAuth2范围支持 SecurityScopes
    • SecurityScopes 可以像一样声明为参数 Request ,以获取所有超级依赖项/依赖项的范围。
    • 改进 Security 处理,在声明时合并范围 SecurityScopes
    • 允许将 SecurityBase (如 OAuth2 )类与一起 使用 , Depends 并仍然对其进行记录。 Security 现在只需要声明 scopes
    • 更新了有关以下文档: 带有密码(和哈希)的OAuth2,带有JWT令牌的Bearer
    • 有关以下内容的新文档: OAuth2范围
    • PR #141

0.12.1

  • BUG修复:处理附加 responses APIRouter.include_router() 。 PR #140

  • 修复SQL教程中的错字。 PR #138 by @mostaphaRoudsari

  • 修复有关嵌套模型和带有JWT的OAuth2的拼写错误。 PR #127 by @mmcloud

0.12.0

  • responses 路径操作修饰符 添加其他 参数, 以扩展OpenAPI(和API文档)中的响应。
    • 它还允许扩展从生成的现有响应 response_model ,声明其他媒体类型(例如图像)等。
    • 新的文档在这里: 其他响应
    • responses 也可以添加到 .include_router() ,更新的文档在这里: 更大的应用程序
    • PR #97 最初由 @barsi 发起 。
  • 更新 scripts/test-cov-html.sh 以允许传递额外的参数(例如 -vv )进行开发。

0.11.0

  • auto_error 参数 添加 到安全实用程序功能。 允许它们是可选的。 还允许有多个替代安全方案,然后在单个依赖项中进行检查,而不是每一个都验证并在不满意时自动将错误返回给客户端。 PR #134

  • 更新 SQL教程 以关闭数据库会话,即使有异常也是如此。 PR #89 by @alexiri

  • 修复中的重复依赖项 pyproject.toml 。 PR #128 by @zxalif

0.10.3

  • 添加Gitter聊天,徽章,链接等 。https://gitter.im/tiangolo/fastapi 。 PR #117

  • 添加有关 扩展OpenAPI的 文档 。 PR #126

  • 使Travis运行Ubuntu Xenial(更新版本)和Python 3.7,而不是Python 3.7-dev。 PR #92 @blueyed

  • 修复重复的参数变量创建。 PR #123 @yihuang

  • 在“ 响应模型”文档中 添加 有关为何使用函数参数而不是函数返回类型注释的注释。 PR #109 通过 @JHSaunders

  • 修复事件文档(启动/关闭)功能名称。 PR #105 by @stratosgear

0.10.2

  • 修复OpenAPI(JSON架构)以获取Python Union (JSON架构 additionalProperties )的 声明 。 PR #121

  • 使用芹菜注释 更新 后台任务

  • 使用联合和列表来记录响应模型,其更新于: Extra Models 。 PR #108

0.10.1

  • 编码/数据库 添加文档和测试 。 的新文档: 异步SQL(关系)数据库 。 PR #107

0.10.0

  • 路径操作功能 和相关性中 添加对后台任务的支持 。 有关 后台任务的 新文档 在这里 。 PR #103

  • 添加支持 .websocket_route() APIRouter 。 PR #100 通过 @ euri10

  • 关于 事件的 新文档部分 :startup-shutdown 。 PR #99

0.9.1

  • 文档接收 具有相同查询参数 重复标题的 多个值 。 PR #95

0.9.0

  • 将兼容的Pydantic版本升级到 0.21.0 。 PR #90

  • 添加文档: 应用程序配置

  • 修复文档中的错字。 PR #76 by @matthewhegarty

  • 将“部署”中的链接修复为“更大的应用程序”。

0.8.0

  • 使开发脚本可执行。 PR #76 @ euri10

  • 添加用于添加支持 tags app.include_router() 。 PR #55 @ euri10 。 在 更大的应用程序 部分中更新了文档 。

  • 更新与Uvicorn相关的文档以使用 --reload 版本中的 新 选项 0.5.x 。 PR #74

  • 更新 isort 导入和脚本以与较新版本兼容。 PR #75

0.7.1

  • 更新 有关 async def 先前框架 处理的 技术细节 。 PR #64 @haizaar

  • 在Raspberry Pi 和其他架构中 添加 Docker的部署文档

  • 触发Docker映像自动建立在Travis CI上。 PR #65

0.7.0

  • 添加支持 UploadFile File 参数标注。
    • 这包括一个类似文件的界面。
    • 这是使用声明 File 参数 UploadFile 的更新文档 。
    • 这是有关将 Form 参数与 File 参数 混合使用 ,支持 bytes UploadFile 同时 使用的更新文档 。
    • PR #63

0.6.4

  • 向文档 添加 有关 async def 处理的 技术细节 。 PR #61

  • 在编辑器中 添加用于 调试FastAPI应用程序的 文档 。

  • 阐明 使用Docker部署的更大的应用程序

  • 修复文档中的错别字。

  • 添加有关 历史,设计和未来的部分

  • 添加将 WebSockets与 FastAPI结合 使用的文档 。 PR #62

0.6.3

  • 将Favicons添加到文档。 PR #53

0.6.2

  • 介绍基于FastAPI和PostgreSQL的新项目生成器: https : //github.com/tiangolo/full-stack-fastapi-postgresql 。 PR #52

  • 使用SQLAlchemy Depends 更新 SQL教程, 以改善编辑器支持并减少代码重复 。 PR #52

  • 使用SQLAlchemy https://fastapi.tiangolo.com/tutorial/sql-databases/ 改进SQL教程中的中间件命名 。

0.6.1

  • 为GraphQL添加文档: https ://fastapi.tiangolo.com/advanced/graphql/ 。 PR #48

0.6.0

  • 使用新的正式版 通过 https://fastapi.tiangolo.com/tutorial/sql-databases/ 上的SQLAlchemy教程更新SQL request.state 。 PR #45

  • 将Starlette升级到版本 0.11.1 并添加所需的兼容性更改。 PR #44

0.5.1

  • 添加有关 帮助和获得 FastAPI 帮助的 部分

  • 在docs中 添加有关 路径操作顺序的 注释 。

  • 更新 有关错误处理的部分, 以获取更多信息,并使与Starlette错误处理实用程序的关系更加明确。 PR #41

  • 在文档中 添加“ 开发贡献”部分 。 PR #42

0.5.0

  • 添加新 HTTPException 的支持自定义标头。 有关处理错误的新文档,请访问: https : //fastapi.tiangolo.com/tutorial/handling-errors/ 。 PR #35

  • 添加 文档以 Request 直接 使用Starlette 对象 。 检查 #25 @ euri10

  • 添加问题模板以简化报告错误,获得帮助等步骤: #34

  • 使用附加到请求的中间件和数据库会话, 在 https://fastapi.tiangolo.com/tutorial/sql-databases/上 更新SQLAlchemy教程的示例 。

0.4.0

  • 添加 openapi_prefix ,支持反向代理和安装子应用程序。 请参阅该文档在 https://fastapi.tiangolo.com/advanced/sub-applications-proxy/ #26 @kabirkhan

  • 更新 SQLAlchemy的文档/教程, 包括有关 DBite for SQLite的 注释 。

0.3.0

  • 修复/添加SQLAlchemy支持,包括ORM,并更新 SQLAlchemy #30的 文档

0.2.1

  • 修复 jsonable_encoder Pydantic模型, Config 但不包括 json_encoders #29

0.2.0

  • 修正错别字在安全部分: #24 @kkinder

  • :添加支持Pydantic定制JSON编码器 #21 @ euri10

0.1.19

  • 升级Starlette版本升级到当前最新的 0.10.1 #17 @ euri10

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free