作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?type=blog个人简介:打工人。
持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。
如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:[email protected]
目录
一、简介
二、发展史
三、主要功能
FastAPI 有以下主要优势:
FastAPI 为我们提供了以下主要功能:
四、参数详解
五、使用步骤
第1步:安装 FastAPI
第2步:安装 uvicorn
第3步:定义API接口
第4步:运行 server
六、示例代码
七、总结
FastAPI是一个现代、快速(高性能)的Web框架,用于构建API,基于Python 3.6+,并使用了标准的Python类型注解(Python 3.5也支持类型注解),以获得交互式API文档(通过OpenAPI/Swagger)和自动验证。 FastAPI是一个Web框架,它与Flask和Django等框架不同。它具有更高的性能和易用性,并提供了最新的标准和技术,例如类型注释、异步编程、请求和响应体(JSON和其他数据格式)的内置验证和文档生成等。
FastAPI的目标是帮助构建更好的API,尽可能简单而快速,并使API更容易创建和部署。它的设计重点在于提高开发人员的生产力并保持代码清晰和易于理解。这使得FastAPI成为构建精细和高性能API的理想选择。FastAPI的强大功能使得它成为许多Python开发人员的首选框架。
FastAPI于2019年发布。它是由Sebastian Ramirez创建的,他曾经为12个国家的公司工作,包括伊利诺伊州大学(University of Illinois),Cloudinary,gumgum Inc等等。他还是Pydantic框架的创建者,并成为了多个开源项目的贡献者,例如拖动PDF的pdfkit和 PDFTables等。他是Python开发人员社区活跃分子和会议演讲人,并在Python开发人员社区拥有广泛的联系。
FastAPI于2019年首次推出,其设计初衷是为了解决Python Web框架在数据类型验证和文档生成方面的问题。与Flask等传统Web框架不同,FastAPI使用了Python类型注解和Pydantic模型,并使用async/await异步语法以提高性能。 FastAPI还支持使用OpenAPI和Swagger进行文档生成,使API整个生命周期更易于管理。
FastAPI的稳定版本1.0于2020年6月发布。
在 FastAPI 中,我们定义 API 操作的方式与标准 Python 函数相同。在快速定义标识HTTP Request方法和路由的接口时, FastAPI 提供了诸多参数来帮助我们完成不同的处理操作。
下面是 FastAPI 中常见的参数类型:
想要使用 FastAPI 开发自己的 Web API,步骤如下:
确保你已经安装Python3.6及以上版本。
使用下面的命令安装 FastAPI:
pip install fastapi
安装 uvicorn 启动服务器:
pip install uvicorn
以下是 FastAPI 简单的示例代码,定义了一个接口,通过访问“/”路由,返回一个JSON串{"Hello":"World"}:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def index():
return {"Hello":"World"}
使用以下命令启动服务:
uvicorn main:app --reload
# 此处请把main改为你代码启动主文件名
到这里,咱们就可以通过访问http://127.0.0.1:8000/ping来测试API接口是否可用。
首先,我们需要创建一个名为“main.py”的文件并导入 FastAPI。
from fastapi import FastAPI
# 初始化 FastAPI
app = FastAPI()
接下来,我们将定义一个可获取的路由,可以使用浏览器或者cURL访问该路由。
@app.get("/users")
async def get_users():
return {"users": []}
现在,如果通过浏览器访问上面的URL,应该会得到一个JSON格式的响应。
最后,我们需要启动服务器并监听请求。为此,可以使用Uvicorn命令行工具。
uvicorn main:app --reload
现在API运行并监听端口8000。打开浏览器访问“http://localhost:8000/users”返回“{“users”: []}”。
FastAPI是一款适合构建高性能、易用、易扩展的web框架,它广泛应用于Python web服务开发和微服务架构中。FastAPI具有强大的文档整合与代码完整性,追求代码简洁与易读性,具有较好的网站性能和响应速度。它还提供多种参数类型,可以有效地验证输入和请求。FastAPI还内置了Swagger UI界面,可以自动生成API文档,让API管理变得简单易用。但是FastAPI增加的代码量会在初学者中引起烦恼,因为新增的注释使得操作变得稍微有些复杂。但是对于有一定开发经验的开发者来说,这一点难度也很容易被克服,FastAPI已经成为开发Python Web应用程序和微服务的首选框架之一。