• 实战经验分享FastAPI 是什么


    FastAPI 是什么?FastAPI实战经验分享

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/7e9e23e6fe3444238413d91f37064b65.png在这里插入图片描述](https://fastapi.tiangolo.com/)

    FastAPI 是一个先进、高效的 Python Web 框架,专门用于构建基于 Python 的 API。它是一个开源项目,建立在 Starlette 和 Pydantic 库的基础上,提供了强大的功能和出色的性能。

    FastAPI 的主要特性有:

    1. 高效快速:FastAPI 使用现代的异步编程模型,借助 Python 3.7+ 的 async 和 await 关键字,充分利用 Python 异步生态系统,提供卓越的性能和吞吐量。
    2. 自动生成文档:FastAPI 能够自动为你的 API 生成交互式文档,能够自动检测请求参数和响应模型,并生成相应的 API 文档。
    3. 数据验证和转换:FastAPI 基于 Pydantic 库,提供强大的数据验证和转换功能,能够自动处理请求和响应数据的验证、转换和序列化。
    4. 类型提示:FastAPI 借助 Python 的类型提示机制,为请求和响应处理提供强类型支持。这可以减少常见错误,并提供更好的代码提示和可读性。
    5. 安全认证:FastAPI 支持常用的认证方式,如 OAuth2、JWT,并提供对 HTTPS 的支持,确保 API 通信的安全性。
    6. 强大的生态系统:FastAPI 和许多 Python 生态系统的工具和库可以无缝集成,如 SQLAlchemy、Databases、Redis 等。

    以上是对 FastAPI 的简要介绍,如有进一步了解,可以访问官网地址:https://fastapi.tiangolo.com

    如何使用 FastAPI?
    下面的步骤将帮助你开始使用 FastAPI 构建一个简单的 Web 应用。

    1、安装 FastAPI:在命令行中运行以下命令安装 fastapi,并安装 uvicorn :

    pip install fastapi
    
    • 1

    2、创建 FastAPI 应用:在你喜欢的 IDE 编辑器中创建一个新的 Python 文件,例如fastapi-demo.py。然后将以下代码复制到文件中:

    from fastapi import FastAPI
    app = FastAPI()
    @app.get("/")
    def read_root():    
    return {"Hello": "World"}
    
    • 1
    • 2
    • 3
    • 4
    • 5

    上面的代码创建了一个名为 app 的 FastAPI 实例,并定义了一个根路由,返回一个简单的 JSON 响应。

    3、运行 FastAPI 应用:在命令行中运行以下命令启动 FastAPI 应用:

    uvicorn main:app --reload
    
    • 1

    FastAPI 将在本地启动一个服务器,并监听默认端口(8000)。你可以在浏览器中访问 http://127.0.0.1:8000,看到 {“Hello”: “World”} 的响应。

    4、添加更多的路由和功能:你可以继续在应用中添加更多的路由和功能,根据自己的需求进行扩展:

    @app.get("/items/{item_id}")
    def read_item(item_id: int, q: str = None):    
    return {"item_id": item_id, "q": q}
    
    • 1
    • 2
    • 3

    上面的代码添加了一个名为 read_item 的新路由,它接受一个 item_id 参数和一个可选的 q 参数,并返回一个 JSON 响应。

    实践案例
    以下是一个使用 FastAPI 构建的实践案例,能够在 IDE 编辑器中直接运行的代码。

    from fastapi import FastAPI
    app = FastAPI()
    @app.get("/")
    def read_root():    
    return {"Hello": "World"}
    @app.get("/items/{item_id}")
    def read_item(item_id: int, q: str = None):    
    return {"item_id": item_id, "q": f"接口id:{item_id}"}
    if __name__ == "__main__":    
    import uvicorn    
    uvicorn.run(app, host="127.0.0.1", port=8000)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    复制以上代码到你的 IDE 编辑器中,并运行它。然后通过浏览器访问 http://localhost:8000/,你将看到 {“Hello”: “World”} 的响应。同样地,你也可以访问 http://localhost:8000/items/42?q=somequery,查看带有参数的响应。
    在这里插入图片描述

    调试 FastAPI
    我们可以通过 Apifox 来更方便的调试 FastAPI。

    如果想快速的调试一条接口,新建一个项目后,在项目中选择 “调试模式” ,填写请求地址后即可快速发送请求,并获得响应结果,上文的实践案例如图所示:

    总结
    FastAPI 是一个高性能、易用且现代的 Python Web 框架,它通过使用最新的 Python 特性和异步编程,提供了快速开发 Web API 的能力。该框架不仅易于学习和使用,还具有自动生成文档、数据验证等强大功能。无论是构建小型项目还是大型应用程序,FastAPI 都是一个强大而有效的工具。

    现在你已经了解了 FastAPI 的概念和使用方法,你可以访问官方网站并尝试使用 FastAPI 来构建自己的 Web 应用程序。

    知识扩展
    了解更多 FastAPI 相关使用技巧:(复制链接查看)

    FastAPI 并发请求:提升性能的关键特性

    https://apifox.com/apiskills/fastapi-concurrent-requests/

    FastAPI 与 Flask:Python Web 两大流行框架综合对比

    https://apifox.com/apiskills/fastapi-vs-flask/

    参考链接:

    FastAPI 官方文档

  • 相关阅读:
    decompose transformation matrix
    自定义注解实现参数验证和异常处理
    【初阶数据结构】——堆的引入
    汽车IVI中控开发入门及进阶(二十三):i.MX8
    基于SpringBoot+Vue+uniapp的考试系统的详细设计和实现(源码+lw+部署文档+讲解等)
    如何初始化一个vue项目
    CSS 学习笔记(基础)
    [附源码]计算机毕业设计颐养天年辅助平台Springboot程序
    ILRuntime热更的小技巧
    windows 不能ping通虚拟机问题
  • 原文地址:https://blog.csdn.net/Climbman/article/details/134099198