fastapi基础

一些fastApi的基础

运行方式一


运行命令:uvicorn main:app --reload

运行方式二



查看接口文档【swagger-ui】:http://127.0.0.1:8000/docs 路径后面加/docs


给服务端发请求

其它知识

Swagger UI

Swagger UI 是一个用于可视化 RESTful API 文档的开源工具。它允许开发者通过一个交互式的界面来浏览、测试和调试 API,而无需直接访问 API 端点。
主要功能和特点包括:

  1. 交互式文档: Swagger UI 提供一个交互式的用户界面,让开发者可以轻松地浏览 API 文档,了解每个端点的用途、参数和响应。
  2. API 调试: 用户可以直接在 Swagger UI 中执行 API 请求,而不需要额外的工具或客户端。这使得开发者可以快速测试 API 端点,查看实际的请求和响应。
  3. 自动生成: Swagger UI 通常能够通过 API 的 OpenAPI 规范(以前称为 Swagger 规范)自动生成文档。这样,只需在代码中添加适当的注释或使用其他工具,就可以生成可读性高、格式一致的 API 文档。
  4. 支持多种编程语言: Swagger UI 不仅限于特定的编程语言或框架,而是基于 OpenAPI 规范,因此可以用于任何符合规范的 API。
  5. 集成开发: 由于 Swagger UI 是一个独立的前端工具,可以轻松地与不同的后端框架集成。后端只需提供符合 OpenAPI 规范的文档,而前端就可以通过 Swagger UI 来展示和测试 API。
    总体而言,Swagger UI 是一个强大的工具,可以提高开发者对 API 的理解和使用效率。在构建和维护 API 时,Swagger UI 能够为开发者和团队提供便利和一致性。

uvicorn和 uWSGI

uvicornuWSGI 是两个用于部署 Python Web 应用程序的不同工具,它们在设计和功能上有一些区别。

相同点:

  1. 用于部署: 两者都是用于将 Python Web 应用程序部署到生产环境的工具。
  2. 支持异步框架: uvicornuWSGI 都能够支持异步框架,比如 FastAPIStarlette 等。

不同点:

  1. 设计目标:
    • uvicorn 是一个 ASGI(Asynchronous Server Gateway Interface)服务器,专注于支持异步框架,特别是针对 Starlette 和 FastAPI。
    • uWSGI 是一个应用服务器,提供了多种应用服务器协议(例如,HTTP、FastCGI)的支持,不仅仅局限于 Python,也支持其他语言。
  2. 协议支持:
    • uvicorn 使用 ASGI 协议,这是一种专为异步 Python Web 框架设计的协议。
    • uWSGI 支持多种协议,包括但不限于 HTTP、FastCGI、uWSGI 等。
  3. 生态系统:
    • uvicorn 通常与 ASGI 框架(如 FastAPI、Starlette)配合使用,并且更适用于异步应用程序的部署。
    • uWSGI 更通用,可以与各种 WSGI(Web Server Gateway Interface)和其他协议兼容的应用程序一起使用。
  4. 配置文件:
    • uvicorn 通常通过命令行参数配置,可以直接在运行命令时指定参数。
    • uWSGI 使用配置文件,配置项更加灵活,但也需要更多的配置工作。
  5. 功能和性能:
    • uWSGI 提供了更多的功能,例如负载均衡、进程管理、异步和同步模式等,使其在处理大量并发连接时更加强大。
    • uvicorn 更专注于异步请求处理,因此在异步场景下性能可能更好。

选择使用 uvicorn 还是 uWSGI 取决于你的应用程序需求和架构。如果你使用的是异步框架,并且希望专注于异步处理,那么 uvicorn 可能是更合适的选择。如果你需要更通用的应用服务器,并希望获得更多的配置选项和功能,那么 uWSGI 可能是更合适的选择。

可学习视频链接

https://www.bilibili.com/video/BV1kQ4y157Ta/

posted @ 2024-02-05 21:00  __username  阅读(46)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。