在大学学习并在我的脑海中有多个项目的想法。我一直在想为什么没有这样的简单方法来构建API,现在看来我错过了一个选择。
在构建API方面,Python一直是一个受欢迎的选择,因为它的易用性,可读性和可用的大量库。 Python生态系统中较新的框架之一是Fastapi。在此博客中,我们将看看Fastapi是什么,为什么要使用它以及其一些关键功能。
什么是fastapi?
fastapi是一个现代的,快速的(因此是名称),基于标准Python型提示,用于使用Python 3.7+构建API的Web框架。它是由SebastiãnMamãrez创建的,是一个开源项目,具有繁荣的社区。 FastApi是在Web零件的星形零件的顶部建造的,用于数据零件的Pydantic。
为什么使用fastapi?
使用FastApi的关键好处之一是其速度。它建立在星条顶的顶部,这是一个异步的网络框架,其设计为轻量级和快速。这意味着FastAPI能够快速有效地处理大量请求,这是构建高性能API的绝佳选择。
FastApi也是高度可定制的,具有多种处理认证,授权和其他功能的选项。这意味着它可以量身定制以满足各种项目和用例的需求。
fastapi的关键特征
fastapi具有许多关键功能,使其成为构建API的吸引人选择:
- 快速
- 易于使用
- 自动文档生成
- 高度定制
- WebSocket支持
- 类型检查
让我们使用fastapis构建一个项目 -
语言翻译|英语到印地语
下面的代码将有助于语言翻译
from googletrans import Translator
translator = Translator()
translation = translator.translate("All The Best", dest='hi')
print(translation)
如何在fastapis中创建端点 -
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
因为我们可以在快速API中使用Jinja模板将创建正常的HTML页面,该页面将发送API请求并从后端获取转换后的响应。
因此,OUT项目文件夹结构将看起来像下面的 -
如何将API请求发送到后端 -
<script>
const box = document.getElementById("box");
// const box1 = document.getElementById("value")
uploadform.onsubmit = async (e) => {
e.preventDefault();
let res = await fetch("/english_text", {
method: "POST",
body: new FormData(uploadform),
});
if (res.ok) {
let result = await res.text();
box.innerHTML = result;
} else {
box.innerHTML = `Response error: ${res.status}`;
};
};
</script>
现在我们都设置了启动FastApi服务器。
因此,让我们提取代码并按照python3的步骤遵循。
git clone https://github.com/rahul188/Fast_API_Demo.git
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
uvicorn application:app --reload
Fastapi最美丽的事情是文档。正如我们在下面看到的那样,它将在编写代码后立即生成API文档。
结论
fastapi是一个现代化的快速网络框架,用于构建使用Python 3.7+的API,该框架构建在星际和Pydantic的顶部。它是高度可定制的,易于使用的,并提供自动API文档生成。 Fastapi的速度和灵活性使其成为建造高性能API的绝佳选择,可以量身定制以适合各种项目和用例的需求。