创建FastAPI项目

在这里插入图片描述

1.FastAPI框架介绍

  FastAPI是⼀个现代、快速(⾼性能)的Web框架,⽤于构建API。是建⽴在Starlette和Pydantic基础上的。它基于Python3.7+的类型提示(typehints)和异步编程(asyncio)能⼒,使得代码易于编写、阅读和维护。FastAPI具有⾃动交互式⽂档(基于OpenAPI规范和JSONSchema)、数据验证、依赖注⼊(DependencyInjection)等功能,这些功能使得API的开发速度更快、更可靠。FastAPI还⽀持WebSocket,可以轻松地扩展到更复杂的应⽤场景。
在这里插入图片描述


2.为什么要⽤FastAPI

(1)强⼤的性能
  FastAPI使⽤Pydantic和Starlette等现代Python库,可以实现⽐Flask和Django等传统框架更快的性能。FastAPI的异步⽀持使其能够处理⼤量并发请求,并在⾼负载下保持稳定的性能。

(2)自动生成API⽂档
  FastAPI可以⾃动⽣成API⽂档,这是⼀个重要的优势。FastAPI使⽤OpenAPI标准,可以通过SwaggerUI或Redoc⾃动⽣成交互式API⽂档。这使得API的使⽤和测试更加容易和直观。

(3)类型提示和自动验证
  FastAPI使⽤Python的类型注解和Pydantic库来⾃动验证请求和响应的数据。这使得代码更加清晰和易于维护,并可以在运⾏时⾃动检查数据类型和格式。这也可以帮助开发⼈员更早地发现和解决错误。

(4)快速开发
  FastAPI提供了⼀些快速开发的功能,如⾃动路由和依赖注⼊。这使得开发⼈员可以更快地编写API,并且可以更容易地管理和维护代码。FastAPI还提供了⼀些常⻅的功能,如⾝份验证和数据库集成,以便开发⼈员可以更快地构建功能完整的API。

(5)强⼤的交互式API⽂档
  FastAPI的交互式API⽂档不仅可以⾃动⽣成,⽽且还⾮常强⼤。开发⼈员可以在⽂档中执⾏请求和测试,以便更好地理解API的使⽤和⾏为。⽂档还提供了⼀些有⽤的⼯具,如请求和响应模型的可视化和⾃动代码⽣成。这使得API的使⽤和测试更加容易和直观。


3.第一个FastAPI程序

3.1 Python虚拟环境搭建

(1)安装Python解释器
官网下载:https://www.python.org/downloads/

(2)安装虚拟环境库
在cmd中输⼊:

pip install virtualenv

3.创建虚拟环境
在cmd中切换到需要创建虚拟环境的⽬录下,执⾏:

virtualenv env_name

4.激活虚拟环境
在cmd中进⼊到第三步创建的env_name/Scripts⽬录下,执⾏:

activate

  执⾏成功后,在cmd中,当前输⼊⾏前⾯会有(env_name)的前缀在当前状态下,使⽤pip就是在虚拟环境中安装第三⽅库了。

5.退出虚拟环境

deactivate

6.查看虚拟环境

workon

7.进入虚拟环境

workon 虚拟环境名称

8.删除虚拟环境rmvirtualenv

rmvirtualenv 虚拟环境名称
3.2 安装FastAPI

(1)安装所有的可选依赖及对应功能,包括了 uvicorn ,可以将其⽤作运⾏代码的服务器。

pip install fastapi[all] -ihttps://mirrors.aliyun.com/pypi/simple/

(2)也可以分开来安装
假如想将应⽤程序部署到⽣产环境,可能要执⾏以下操作:

pip install fastapi

并且安装 uvicorn 来作为服务器:

pip install "uvicorn[standard]"
3.3 创建项⽬

选择虚拟环境下的Python解释器创建fastApi项目
在这里插入图片描述

创建好的项目包含一个main.py文件
在这里插入图片描述

main.py

from fastapi import FastAPI

app = FastAPI()


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


@app.get("/hello/{name}")
async def say_hello(name: str):
    return {"message": f"Hello {name}"}
3.4 启动项目

(1)通过pycharm启动按钮(开发模式)
在这里插入图片描述

浏览器输入:127.0.0.1:8000
在这里插入图片描述

(2)uvicorn命令启动(⽣产模式)
uvicorn main:app --reload命令含义如下:
• main : main.py ⽂件(⼀个Python「模块」)。
• app :在 main.py ⽂件中通过 app = FastAPI() 创建的对象。
• --reload :让服务器在更新代码后重新启动。仅在开发时使⽤该选项。

(3)在main.py中定义main函数

if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app, host='127.0.0.1', port=8000)
3.5 访问接口文档

http://127.0.0.1:8000/docs
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北极的三哈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值