【FastAPI】P1 安装与第一个 FastAPI 应用

FastAPI 安装

FastAPI 是用于快速构建 API 的 web 框架,依赖 Python 3.8 及更高版本。使用 pip 命令安装 fastapi

pip install fastapi

安装异步处理 ASGI 的服务器 Uvicorn

pip install "uvicorn[standard]"

补充知识:

Uvicorn 是 ASGI 的一个实现,它基于 Starlette 和 Uvicorn 的异步服务器,能够为 Django、FastAPI 等应用提供高性能的服务。

ASGI 异步处理服务器,通过允许程序在等待某些操作完成时继续执行其他任务,从而提高性能和响应性,减少资源浪费,避免资源闲置。这与同步处理服务器 WSGI 相反。在同步处理中,程序会阻塞,直到所需操作完成才能继续执行。


第一个 FastAPI 应用

创建一个名为 main.py 的文件,其中添加如下代码:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
	return {
   "Hello": "World"}

运行程序,然后打开命令行输入如下命令以通过 Uvicorn 启动应用:

uvicorn main:app --reload

在这里插入图片描述

等待片刻后,打开浏览器并访问 http://127.0.0.1:8000 ,可以看到 FastAPI 自动生成的交互式文档,并在根路径 (“/”) 返回的 JSON 响应。

在这里插入图片描述


代码拆解分析

1. 导入必要的模块和类:

from fastapi import FastAPI

2. 创建 FastAPI 实例:

app = FastAPI()

在这一步,创建了一个 FastAPI 应用的实例,用于定义和管理应用的各个组件,包括路由。

3. 定义根路径 / 的路由操作:

@app.get("/")
def read_root():
	return {
   "Hello": "World"}

路由操作使用 @app.get("/") 装饰器,表示当用户通过 HTTP GET 请求访问根路径时,将执行 read_root 函数。函数返回一个包含 {"Hello": "World"} 的字典,这个字典会被 FastAPI 自动转换为 JSON 格式并返回给用户。

4. uvicorn 配置并运行 ASGI 应用:

uvicorn main:app --reload

main 是 ASGI 应用的模块,app 是 ASGI 应用对象,--reload 参数表示 Uvicorn 将监视代码变更并自动重启服务器。


以上

2024.2.18

最近更新

  1. TCP协议是安全的吗?

    2024-02-19 10:56:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-19 10:56:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-19 10:56:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-19 10:56:01       18 阅读

热门阅读

  1. 基于物联网的智慧农业简介

    2024-02-19 10:56:01       31 阅读
  2. 什么是RabbitMQ?

    2024-02-19 10:56:01       27 阅读
  3. GO语言的变量与常量

    2024-02-19 10:56:01       29 阅读
  4. 在k8s中,使用DirectPV CSI作为分布式存储的优缺点

    2024-02-19 10:56:01       25 阅读
  5. x86汇编段描述符解析器

    2024-02-19 10:56:01       28 阅读
  6. 如何系统地自学Python:一个全面指南

    2024-02-19 10:56:01       36 阅读
  7. CSS杂记

    CSS杂记

    2024-02-19 10:56:01      19 阅读
  8. 3.1.爬虫

    2024-02-19 10:56:01       27 阅读
  9. go依赖注入库samber/do使用

    2024-02-19 10:56:01       36 阅读
  10. c++指针和引用的区别

    2024-02-19 10:56:01       28 阅读