fastapi-简单性
#编程 #python #开发日志 #fastapi

在大学学习并在我的脑海中有多个项目的想法。我一直在想为什么没有这样的简单方法来构建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的吸引人选择:

  1. 快速
  2. 易于使用
  3. 自动文档生成
  4. 高度定制
  5. WebSocket支持
  6. 类型检查

让我们使用fastapis构建一个项目 -

语言翻译|英语到印地语

Project Output

下面的代码将有助于语言翻译

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项目文件夹结构将看起来像下面的 -

Project Structure

如何将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 Docs

结论

fastapi是一个现代化的快速网络框架,用于构建使用Python 3.7+的API,该框架构建在星际和Pydantic的顶部。它是高度可定制的,易于使用的,并提供自动API文档生成。 Fastapi的速度和灵活性使其成为建造高性能API的绝佳选择,可以量身定制以适合各种项目和用例的需求。