FastAPI 快速入门
发布于 1 个月前 作者 pangguoming 59 次浏览 来自 分享

参考: https://fastapi.tiangolo.com/zh/learn/ https://www.runoob.com/fastapi/fastapi-form.html https://blog.csdn.net/qq_39172059/article/details/136518206

一、什么是FastAPI?

FastAPI是一个现代、快速(高性能)的python web框架,基于标准的python类型提示,使用python3.6+构建的web框架。

FastAPI的架构为RESTful风格,RESTful是一种网络应用程序的设计风格和开发方式,其特点为每一个URI代表一种资源,客户端通过GET、POST、PUT、DELETE等动作,对服务器端资源进行操作。

( 一)环境准备

1.安装FastAPI:pip install fastapi

(交互文档需要访问外部资源,行内在1.0.3版本中将外部资源转为行内资源,若行内网络使用请指定版本1.0.3)

2.安装ASGI服务:pip install uvicorn image.png

(二)入门示例

  1. 新建一个main.py文件,编写如下:
from fastapi import FastAPI  
app = FastAPI()  
[@app](/user/app).get('/')  
def root():  
   return {'message': 'Hello World'}  
  1. 启动服务

命令:uvicorn main:app --reload

² main:文件main.py(python模块)

² app:在模块中app=FastAPI()行中创建的对象

² --reload:代码更改后自动重启服务(上线时该参数值不能为true,降低性能)

启动服务后终端将会看到如下输出: image.png

  1. 访问服务

启动服务后,使用浏览器访问127.0.0.1:8000,

可以得到{“Hello”:“World”} ,说明环境安装成功。 image.png

  1. API交互文档

启动服务后,FastAPI会自动给生成两个交互文档:

SwaggerUI:http://127.0.0.1:8000/docs

ReDoc:http://127.0.0.1:8000/redoc

http://127.0.0.1:8000/openapi.json image.png

  1. 查看openapi.json

http://127.0.0.1:8000/openapi.json image.png

  1. 本地部署

命令:uvicorn main:app --host 0.0.0.0 --port 8000

² main:启动服务的py文件名

² app:服务对象名

² --host:IP地址

² --port:端口

本地部署后,可通过外部访问本地启动服务。 image.png

(三)入门示例了解FastAPI结构

from fastapi import FastAPI
 
app = FastAPI()  

[@app](/user/app).get('/')  
def root():  
    return {'message': 'Hello World'}  
  1. 导入FastAPI
from fastapi import FastAPI  
  1. 创建一个app实例
app = FastAPI()  
  1. 编写路径操作装饰器
[@app](/user/app).get('/')

(1)使用get请求,也可使用其他请求方法的装饰器

@app.post()

@app.put()

@app.delete()

@app.options()

@app.head()

@app.patch()

@app.trace()

(2)路径(’/’) 自定义

  1. 定义路径操作函数
def root(): 
    return {'message': 'Hello World'}
	```
(1)python函数;

(2)当FastAPI接收一个使用GET方法访问路径为/的请求时这个函数会被调用;

(3)此处的返回值可以是:字典,列表,单独的值:比如str,int,Pydantic模型,自动转换为JSON的对象和模型。

5. 运行开发服务
```python
uvicorn main:app

此处可以执行要运行的服务器IP和端口号,默认IP :127.0.0.1,端口:8000

uvicorn main:app --host 127.0.0.1 --port 8080

二、uvicorn启动方式

(一)使用命令行运行

按入门示例的方式,在py文件所在目录下的命令行中运行。

(二)使用uvicorn.run()

image.png

三、接口文档注释

(一)注释类型

1.title标题

2.description描述

3.summary注释

4.tags标签

示例:

rom fastapi import FastAPI  
app = FastAPI(title='测试api应用程序', description='整体描述')  
[@app](/user/app).get(path='/', summary='接口注释', description='接口描述', tags= ['Root'])  
def read_root():      
    return {"Hello": "World"}
回到顶部