Python高性能web框架-FastApi教程:(1)创建一个简单的FastApi

(1)创建一个简单的FastApi

1. 导入必要的库
python 复制代码
from fastapi import FastAPI
import uvicorn
  • FastAPI 是一个用于构建现代、快速(高性能)的Web API的Python框架。
  • uvicorn 是一个ASGI服务器,用于运行异步的Python Web应用程序。
2. 创建FastAPI实例
python 复制代码
app = FastAPI()
  • 这行代码创建了一个FastAPI应用实例,这个实例将用于定义和处理路由。
3. 定义路由
python 复制代码
@app.get('/')
async def home():
    return {'user_id': 1002}
  • @app.get('/') 是一个装饰器,用于定义一个GET请求的路由,路径为根目录/
  • async def home(): 定义了一个异步函数home,当接收到根目录/的GET请求时,这个函数将被调用。
  • return {'user_id': 1002} 返回一个包含用户ID的字典。
python 复制代码
@app.get('/shop')
async def shop():
    return {'shop': '商品信息'}
  • @app.get('/shop') 是一个装饰器,用于定义一个GET请求的路由,路径为/shop
  • async def shop(): 定义了一个异步函数shop,当接收到/shop的GET请求时,这个函数将被调用。
  • return {'shop': '商品信息'} 返回一个包含店铺信息的字典。
4. 运行FastAPI应用
python 复制代码
if __name__ == '__main__':
    uvicorn.run('main:app', port=8080, reload=True)
  • if __name__ == '__main__': 检查是否直接运行此脚本。
  • uvicorn.run('01_quickstart:app', port=8080, reload=True) 使用uvicorn运行FastAPI应用,指定端口为8080,并启用自动重新加载功能。这样在开发过程中,代码修改后会自动重启服务器。

通过以上步骤,你可以创建一个简单的FastAPI应用,并定义两个GET请求的路由来返回不同的数据。

5.完成代码如下
python 复制代码
from fastapi import FastAPI
import uvicorn

app = FastAPI()

@app.get('/')
async def home():
    return {'user_id': 1002}

@app.get('/shop')
async def shop():
    return {'shop': '商品信息'} 

if __name__ == '__main__': 
    uvicorn.run('main:app', port=8080, reload=True)
6.测试

FastAPI自带swagger接口调试文档,因此这里可以直接打开swagger页面 127.0.0.1:8080/docs,然后即可调试了,如下:

swagger测试录屏

相关推荐
测试19982 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
曲幽5 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
前端若水6 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
涛声依旧-底层原理研究所7 小时前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
csdn_aspnet7 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch8 小时前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆8 小时前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论
web3.08889998 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
AI算法沐枫8 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
X1A0RAN9 小时前
解决Pycharm中部分文件或文件夹被隐藏不展示问题
ide·python·pycharm