FastAPI基础入门

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


一、高频应用
1. 认识FastAPI
1)FastAPI介绍
  • 定义: FastAPI是一个用于构建API的现代、快速(高性能)的web框架。
  • 特点: 使用Python 3.6+的类型提示,并基于标准的Python ASGI工具包。
  • 性能: 高性能,易于学习,快速编码,生产可用。
  • 测试覆盖率: 测试通过,覆盖率100%。
2)Python ASGI工具包
  • 定义: ASGI(Asynchronous Server Gateway Interface)工具包是一种用于构建异步Web服务器的标准接口。
  • 作用: 允许异步和基于事件的系统之间的通信,将Web服务器与应用程序之间的通信转换为异步通信,提高应用程序的性能和响应速度。
  • 常用服务器与框架:

    • Hypercorn: ASGI服务器和WSGI HTTP服务器,支持HTTP/2和WebSocket,具有自动重试、请求超时、连接超时、日志记录等功能。
    • Uvicorn: ASGI服务器,支持HTTP/2和WebSocket,具有自动重试、请求超时、连接超时、日志记录等功能。
    • Sanic: Python Web框架,支持异步请求处理和WebSocket,具有路由、中间件、ORM等功能。
    • Starlette: ASGI服务器和WSGI HTTP服务器,支持HTTP/2和WebSocket,具有中间件、路由、异常处理等功能。
3)FastAPI的特点
  • 快速: 性能极高,可与NodeJS和Go等语言相媲美,是Python框架中最快之一。
  • 高效编码: 提高开发功能的速度约200%至300%,同时减少人为错误。
  • 简单: 易于使用和学习,设计直观,帮助开发人员快速上手。
  • 标准化: 完全兼容API的开放标准OpenAPI和JSON Schema。
  • 强大的编辑器支持: 帮助开发人员更快地进行调试,处处皆可自动补全,减少调试时间。
  • 自动生成的交互式文档: 使开发人员更容易理解其API。
  • 代码简洁: 帮助开发人员减少代码重复,提高代码质量。
  • 更少的bug: 帮助开发人员减少大约40%的人为错误,提高代码质量和稳定性。
  • 生产可用级别的代码: 注重代码的质量和稳定性,具有生产可用级别的代码。
2. 如何使用FastAPI
1)安装fastapi
pip install fastapi
  • 依赖包: 安装fastapi时,会自动安装其依赖包,如pydantic、starlette等。
2)对于生产环境
pip install "uvicorn[standard]"
  • ASGI服务器: 对于生产环境,需要安装一个ASGI服务器,如Uvicorn或Hypercorn。
  • 安装Uvicorn: 执行命令pip install "uvicorn[standard]"来安装Uvicorn的标准版本。
  • 依赖包: 安装Uvicorn时,也会安装其依赖包,如click、h11、uvloop等。
3)新建一个main.py文件,写一个简单的案例
  • 文件创建: 新建一个名为main.py的文件。
  • 导入FastAPI: 在文件中导入FastAPI类。
  • 创建API实例: 创建一个FastAPI的实例,通常命名为app。
  • 定义路由: 使用 @app.get("/") 装饰器定义一个根路由,该路由对应的处理函数是异步函数root,返回一个包含"Hello World"消息的JSON对象。
from fastapi import FastAPI  

app = FastAPI()  


@app.get("/")  
async def root():  
    return {"message": "Hello World"}

运行:

uvicorn main:app --reload

运行

运行

4)交互式文档
  • 访问方式: 启动服务后,可以通过访问 http://127.0.0.1:8000/docs 来查看交互式文档。
  • 文档内容: 交互式文档提供了API的详细信息,包括请求方法、路径、参数、响应等。
  • 测试功能: 交互式文档还提供了测试功能,可以直接在文档页面发送请求并查看响应。

    交互式文档

    交互式文档

5)API文档
  • 访问方式: 可以通过访问 http://127.0.0.1:8000/redoc 来查看API文档。
  • 文档内容: API文档以更结构化的方式展示了API的信息,包括请求、响应、参数等。
  • 标准化: API文档是标准化的,方便开发者理解和使用API。
  • 日志记录: 在运行过程中,Uvicorn会记录相关日志,包括服务器启动、关闭、代码更改等信息。
  • 代码更改自动重载: 使用--reload参数启动服务时,代码更改后服务器会自动重载,方便开发过程中的调试。

    API文档

    API文档

3. FastAPI进阶应用
  • 结合OpenAI的GPT模型提供自然语言处理服务。
  • 实现步骤:

    • 创建API接口: 使用FastAPI创建一个接口,接收用户输入的文本。
    • 文本处理: 将用户输入的文本发送给OpenAI的GPT模型进行处理。
    • 返回结果: 解析GPT模型返回的结果并返回给用户。
  • 案例: 构建一个聊天机器人API,接收用户输入的文本,通过GPT模型处理并返回结果。
4.小结
1)总结
  • FastAPI概述: FastAPI是一个现代、快速(高性能)的Python web框架,用于构建API。
  • 特点: 具有简洁性、高效性和友好界面等特点,广泛用于电子商务、旅游预订和社交媒体等场景。
  • 实现原理: 包括代码架构、请求流程和响应机制等方面,具有高效的性能和简洁的代码风格。
  • 学习曲线与文档: 需要一定的学习曲线,但有完善的文档辅助。
  • 未来发展方向:

    • 更加智能化: 结合人工智能技术,实现自动化的数据处理、异常处理和安全防护等功能。
    • 更加灵活: 进一步扩展路由匹配、依赖注入等机制,使开发人员能更灵活地构建API接口。
    • 更加安全: 加强安全防护机制,包括HTTPS支持、访问控制、身份验证等方面。
2)如何使用FastAPI
  • 启动服务器
  • 安装Uvicorn
  • 编写简单案例

    • 代码示例:
    • 解释: 创建一个简单的API,当访问根路径时,返回 {"message": "Hello World"}。
  • 运行效果
3)注意事项
  • 安装重要性: 在使用FastAPI前,必须安装相关依赖,如Uvicorn,否则无法启动服务器。
二、知识小结

知识点

核心内容

重点/易混淆点

难度系数

Fast API介绍

Fast API是用于构建API的现代、高性能框架

Fast API与Flask、Django等框架的区别

Fast API特点

高性能、高效编码、简单易学、标准化、强大编辑器支持等

Fast API性能优势的具体体现

ASGI工具包

用于构建异步WEB服务器的标准接口

ASGI与WSGI的区别及优势

常用服务器

UVicorn、Hypercorn等

各服务器的特性及适用场景

安装与配置

Fast API及服务器的安装命令

环境配置中的常见问题

路由与请求处理

Fast API中路由的定义及请求处理方法

异步请求处理的理解

交互式文档与API文档

Fast API自动生成的文档及其使用

文档在开发过程中的重要性

案例实践

构建聊天机器人API接口

Fast API与OpenAI GPT模型结合的应用实例

未来发展方向

Fast API可能的智能化、灵活化、安全化趋势

技术发展趋势的预测准确性

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值