FastAPI ------框架基础

一、初知FastAPI

1.1 FastAPI简介

FastAPI是一种现代,快速(高性能)的Web框架,用于基于标准 Python类型提示使用Python 3.6+构建API。

基于以下第三方包开发(部分):

  • Starlette基于ASGI异步网关协议接口的框架 。
  • Pydantic数据验证和设置管理库。
  • Uvicorn基于 asyncio(异步io) 开发的一个轻量级高效的 web 服务器框架。
  • Requests HTTP库。
  • Aiofiles 如果要使用FileResponse(文件相应)静态文件。
  • Jinja2 网页模板渲染引擎。
  • Python-multipart 表单解析。

1.2 安装FastAPI

1.2.1 虚拟环境安装

安装
在这里插入图片描述
.venv1是虚拟环境名,不一定是这个可以自己起名。
安装教程

激活:

venv1\Scripts\activate

在这里插入图片描述

1.2.2 pip安装FastAPI

在虚拟环境中使用以下命令即可

pip install fastapi

在这里插入图片描述

由于启动需要依赖于Uvicorn,还需要安装,命令如下

uvicorn
官方解释:自行搜索。
通俗解释:就是一个ASGI服务器,就是把你代码跑在一个你认识的一个平台上。
ASGI服务器
解释:异步网关协议接口。它是介于网络协议服务和Python应用之间的标准接口。
通俗解释:就是能够处理多种通用的协议类型,例如:HTTP、HTTP2、WebSocket等

 pip install uvicorn

在这里插入图片描述

1.3 可能出现的问题

Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。

这种情况就是端口占用

中文乱码

在这里插入图片描述
这种情况博主还没解决,不过在PyCharm中运行就不会出现。

二、 第一个FastAPI

2.1 方法一

在虚拟环境中运行

  1. 我们在虚拟环境中建立一个main.py文件
    文件内容如下
from fastapi import  FastAPI
app = FastAPI()

@app.get("/")

def read_root():
    return {
   
   "Hello","World"}

第一行:导入了FastAPI
第二行:创建了该类的一个实例
第四行:使用app()装饰器告诉FastAPI什么样的URL能触发被装饰的函数。

需要注意的是:

  1. 你可以将get操作方法更改成@app.post()、@app.put()、@app.delete()等方法
  2. 你可以更改相应的路径("/")为自己想要的,例如我更改为("/hello_word/")
  3. 函数的返回值可以是
    dict,list,单独的值,比如str,int,或者是Pydantic模型

  1. 在虚拟环境下运行
uvicorn main:app --reload

在这里插入图片描述
参数说明:
main:main.py文件
app :在main.py内部创建的对象,通过app = FastAPI()创建
--reload :使服务器在代码更改后重新启动,仅在开发的时候使用就好了。

2.2 方法二

也可以不在虚拟环境下运行,这就需要在本机上安装上面说的两个库。

步骤和上面是类似的。

2.3 方法三

我们可不可以不用命令行运行呢,是可以的,看下面代码:

from fastapi import  FastAPI
import uvicorn
app = FastAPI()

@app.get("/")

def read_root():
    return {
   
   "Hello","World"}

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

添加了

import uvicorn

if __name__ == '__main__':
    uvicorn.run(app=app,host="127.0.0.1",port
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

落春只在无意间

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

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

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

打赏作者

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

抵扣说明:

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

余额充值