python系列:FASTAPI系列 01 环境准备 & FASTAPI系列 02-简单入门




一、FASTAPI系列 01 环境准备

前言

FastAPI 是一个用于构建 API 的现代、快速(高性能)的 Python Web 框架,由 Sebastián Ramírez 创建,适用于 Python 3.6 及更高版本。

提示:以下是本篇文章正文内容,下面案例可供参考

一、FASTAPI简介

  • 快速性能:FastAPI 利用 Python 的异步特性(asyncio)实现了高并发和低延迟,性能表现可媲美 Node.jsGo语言编写的同类应用。

  • 高效编码:FastAPI 基于 Python类型提示系统,这不仅有助于提高代码质量和可读性,而且还允许框架根据类型提示自动生成路由、请求体解析、参数验证等,极大地提升了开发效率,据称可以将开发速度提高200%300%

  • 较少的 Bug:通过 Pydantic 进行严格的类型检查和数据验证,FastAPI能够在编译阶段捕获许多潜在的错误,从而降低开发者因类型错误或数据问题引入的 Bug

  • 智能编辑器支持:由于对类型提示的良好支持,FastAPI 开发者能IDE 中享受到丰富的自动补全和实时错误检查功能。

  • 自动文档生成:FastAPI 自动根据代码中的类型提示生成交互式的 API 文档,兼容 OpenAPI 规范(Swagger UIReDoc),简化了 API 的管理和使用。

  • 数据验证和转换:使用 Pydantic 实现的数据模型可以直接应用于请求体和响应体,确保输入输出数据的有效性和一致性。

  • 依赖注入:内置对依赖注入的支持,使得服务之间解耦更加容易,增强了模块化和可测试性。

  • 扩展性:支持 WebSocketGraphQL,方便构建实时通信和灵活查询的 API,适应多种复杂应用场景。

二、环境准备

1.快速安装fastapi以及相关依赖

pip install fastapi[all]

2.创建项目

使用pycharm创建一个fastapidemo项目

在这里插入图片描述
安装对应fastpai的依赖包

在这里插入图片描述

安装成功显示Successfully

在这里插入图片描述
创建main.py文件,导入fastapi 确定安装成功

在这里插入图片描述

总结

FastAPI环境准备的核心工作包括正确安装FastAPI及相关工具链,并在适当的项目结构中初始化应用代码,确保所有依赖都得到妥善配置和管理

二、FASTAPI系列 02-简单入门

实现一个简单的例子

编写一个简单的get请求,请求/first路径,返回一个接口报文 {“message”:“Hello,Word!”}
创建一个main.py 文件,代码如下:

from fastapi import FastAPI

# 导入FastAPI模块并创建一个FastAPI实例
app = FastAPI()

# 使用装饰器@app.get("/")定义一个GET请求处理函数(endpoint)
# 当用户访问应用的根路径 "/" 时,root函数会被调用
@app.get("/first")
async def root():
    # 函数返回一个字典,内容为 {"message": "Hello World"}
    # 这个字典会被自动转换成JSON格式返回给客户端
    return {"message": "Hello World"}


if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

在这里插入图片描述

执行main函数方法,启动服务:

uvicorn.run(app, host=“0.0.0.0”, port=8000) 是在使用 Uvicorn 服务器启动一个 Web 应用程序时的命令。Uvicorn 是一个高性能 ASGI(Asynchronous Server Gateway Interface)服务器,特别适合服务于基于 Python 的异步框架,比如 FastAPI

  • uvicorn.run: 这是 Uvicorn 模块提供的一个函数,它负责启动 Web 服务器并运行指定的应用程序实例。

  • app: 这是您要运行的应用程序对象,通常是 FastAPIStarlette 创建的一个应用实例。这个对象包含了您的路由、视图函数等构成 Web 服务的所有内容。

  • host=“0.0.0.0”: 这个参数指定了服务器监听的主机地址。在这里,设置为 “0.0.0.0” 表示服务器将在所有可用网络接口上监听,包括本地回环接口(localhost)和任何公开的网络接口,这意味着其他设备可以通过该服务器所在的机器的 IP 地址访问此服务。

  • port=8000: 这是指定服务器监听的端口号,这里是 8000。通过这个端口,客户端可以通过 HTTP 协议与服务器进行通信。例如,要访问运行在此服务器上的应用,用户可以在浏览器中输入 http://your_server_ip:8000

在这里插入图片描述

使用浏览器访问:http://127.0.0.1:8000/first, 显示返回报文

在这里插入图片描述
FASTAPIswagger 文档,交互式API

在这里插入图片描述

使用swagger调用接口
在这里插入图片描述







lzq599220

FASTAPI系列 01 环境准备

FASTAPI系列 02-简单入门

  • 29
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值