FastAPI(高性能Web框架)
v0.63.0 官方版- 软件大小:5.45 MB
- 更新日期:2021-01-08 17:29
- 软件语言:英文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
FastAPI是一款开发框架,可以帮助用户在电脑上设计新的网站,设计新的web程序,软件提供独立的TechEmpower基准测试方案,该方案在Uvicorn下运行的FastAPI应用程序是可用的最快的Python框架之一,仅在Starlette和Uvicorn本身,基准和速度¶当您检查基准测试时,通常会看到几种不同类型的工具被视为等效工具,具体来说,是将Uvicorn,Starlette和FastAPI进行比较,该工具解决的问题越简单它将获得更好的性能,而且大多数基准测试并未测试该工具提供的其他功能,软件提供额外的数据类型、Cookie参数、标头参数、反应模型、额外型号、响应状态码、表格数据等内容编辑,如果你需要这款软件就下载吧!
软件功能
可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
高效编码:提高功能开发速度约 200% 至 300%。*
更少 bug:减少约 40% 的人为(开发者)导致错误。*
智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
设计的易于使用和学习,阅读文档的时间更短。
使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
生产可用级别的代码。还有自动生成的交互式文档。
标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。
软件特色
FastAPI功能
FastAPI为您提供以下内容:
基于开放标准
用于API创建的OpenAPI,包括路径 操作,参数,主体请求,安全性等的声明。
具有JSON模式的自动数据模型文档(因为OpenAPI本身基于JSON模式)。
经过仔细研究,围绕这些标准进行设计。而不是顶部的事后思考层。
这也允许使用多种语言的自动客户端代码生成。
自动文档
交互式API文档和Exploration Web用户界面。由于该框架基于OpenAPI,因此有多个选项,默认情况下包含2个。
Swagger UI,具有交互式探索功能,可直接从浏览器直接调用和测试您的API。
ReDoc的替代API文档。
只是现代Python¶它们全部基于标准的Python 3.6类型声明(感谢Pydantic)。没有新的语法需要学习。只是标准的现代Python。
使用说明
编辑器支持¶所有框架的设计都易于使用和直观,所有决定甚至在开始开发之前就已经在多个编辑器上进行了测试,以确保最佳的开发体验。
在上一次Python开发人员调查中,很明显,最常用的功能是“ autocompletion”。
整个FastAPI框架都可以满足这一要求。自动补全在任何地方都有效。
您将很少需要回到文档。
您的编辑器可以为您提供以下帮助:
在Visual Studio Code中:
在PyCharm中:
您将获得以前甚至可能认为不可能完成的代码。例如,price来自请求的JSON主体内的键(可能是嵌套的)。
无需再键入错误的键名,在文档之间来回回叫或上下滚动以查找是否最终使用username或user_name。
短¶对于所有内容,它都有合理的默认值,并且在所有位置都具有可选配置。可以对所有参数进行微调,以执行所需的操作并定义所需的API。
但是默认情况下,所有这些“都可以正常工作”。
验证方式¶验证大多数(或所有?)Python数据类型,包括:
JSON对象(dict)。
list定义项目类型的JSON数组()。
字符串(str)字段,用于定义最小和最大长度。
具有最小值和最大值的数字(int,float)等。
验证更多奇异类型,例如:
网址。
电子邮件。
UUID。
...和别的。
所有验证均由完善且强大的Pydantic处理。
安全与认证¶集成了安全性和身份验证。无需对数据库或数据模型进行任何妥协。
OpenAPI中定义的所有安全方案,包括:
HTTP基本。
OAuth2(也带有JWT令牌)。查看有关使用JWT的OAuth2的教程。
API密钥:
标头。
查询参数。
Cookies等
加上Starlette的所有安全功能(包括会话cookie)。
所有这些都是可重用的工具和组件,易于与您的系统,数据存储,关系数据库和NoSQL数据库等集成。
依赖注入¶FastAPI包括一个非常易于使用但功能强大的“依赖注入”系统。
甚至依赖项也可以具有依赖项,从而创建依赖项的层次结构或“图”。
全部由框架自动处理。
所有依赖项都可能需要来自请求的数据,并增加了路径操作约束和自动文档。
甚至对依赖项中定义的路径操作参数的自动验证。
支持复杂的用户身份验证系统,数据库连接等
无需与数据库,前端等妥协。但可以轻松地与所有数据库集成。
无限的“插件”¶或者以其他方式,不需要它们,导入并使用所需的代码。
任何集成的设计都非常易于使用(具有依赖项),因此您可以使用两行代码,使用与路径操作相同的结构和语法,为您的应用程序创建一个“插件” 。
经过测试¶100%的测试覆盖率。
100%类型注释的代码库。
用于生产应用。
Starlette功能¶FastAPI与Starlette完全兼容(并基于Starlette)。因此,您拥有的任何其他Starlette代码也将起作用。
FastAPI实际上是的子类Starlette。因此,如果您已经了解或使用Starlette,则大多数功能将以相同的方式工作。
使用FastAPI,您可以获得Starlette的所有功能(因为FastAPI只是类固醇上的Starlette):
令人印象深刻的性能。它是可用的最快的Python框架之一,可与NodeJS和Go媲美。
WebSocket支持。
GraphQL支持。
处理中的后台任务。
启动和关闭事件。
测试基于的客户端requests。
CORS,GZip,静态文件,流式响应。
会话和Cookie支持。
100%的测试覆盖率。
100%类型注释的代码库。
金字塔特征¶FastAPI与Pydantic完全兼容(并基于Pydantic)。因此,您拥有的任何其他Pydantic代码也将起作用。
包括也基于Pydantic的外部库,例如用于数据库的ORM,ODM。
这也意味着在许多情况下,您可以将从请求中获得的同一对象直接传递给数据库,因为所有内容都将自动进行验证。
反之亦然,在许多情况下,您只需将从数据库中获得的对象直接传递给客户端即可。
使用FastAPI,您可以获得Pydantic的所有功能(因为FastAPI基于Pydantic进行所有数据处理):
没脑子:
无需学习新的架构定义微语言。
如果您知道Python类型,就会知道如何使用Pydantic。
与您的IDE / linter / brain一起很好地玩:
因为pydantic数据结构只是您定义的类的实例;自动完成,整理,mypy和您的直觉都应与验证的数据一起正常工作。
快速:
在基准测试中, Pydantic比所有其他经过测试的库都快。
验证复杂的结构:
分层Pydantic车型使用,Python中typing的List和Dict,等等。
验证器使复杂的数据模式可以清晰,轻松地定义,检查并记录为JSON模式。
您可以具有深度嵌套的JSON对象,并使它们全部经过验证和注释。
可扩展:
Pydantic允许定义自定义数据类型,或者您可以使用由验证器装饰器装饰的模型上的方法扩展验证。
100%的测试覆盖率。
Python类型简介¶Python支持可选的“类型提示”。
这些“类型提示”是允许声明变量类型的特殊语法。
通过声明变量的类型,编辑器和工具可以为您提供更好的支持。
这只是有关Python类型提示的快速教程/复习。它仅涵盖了将它们与FastAPI一起使用所需的最低要求...实际上很少。
FastAPI都是基于这些类型提示的,它们具有许多优点和好处。
但是,即使您从未使用过FastAPI,您也可以从中学习到一些好处。
注意
如果您是Python专家,并且已经了解有关类型提示的所有知识,请跳到下一章。
动机¶让我们从一个简单的例子开始:
调用该程序输出:
John Doe
该函数执行以下操作:
取first_name和last_name。
将每个字母的首字母转换为大写title()。
将它们在中间连接一个空格。
编辑它¶这是一个非常简单的程序。
但是现在想象一下,您是从头开始编写它的。
在某个时候,您已经开始定义函数,已经准备好参数...
但是然后您必须调用“将第一个字母转换为大写字母的方法”。
是upper吗 是uppercase吗 first_uppercase?capitalize?
然后,您尝试与老程序员的朋友,编辑器自动完成。
您键入函数的第一个参数first_name,然后键入点(.),然后单击Ctrl+Space以触发完成。
但是,可悲的是,您没有得到任何有用的信息:
添加类型¶让我们从以前的版本中修改一行。
我们将从以下位置更改此片段(函数的参数):
first_name, last_name
至:
first_name: str, last_name: str
而已。
这些是“类型提示”:
这是另一回事。
我们使用的是冒号(:),而不是等于(=)。
添加类型提示通常不会改变没有它们会发生的事情。
但是现在,假设您再次处于创建该函数的中间,但是带有类型提示。
同时,您尝试使用触发自动完成,Ctrl+Space您会看到:
这样,您可以滚动查看选项,直到找到“响起铃声”的选项:
更多动力¶检查此功能,它已经具有类型提示:
因为编辑器知道变量的类型,所以您不仅获得完成,还获得错误检查:
现在您知道必须修复它,并使用以下命令将其转换age为字符串str(age):
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文