(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测试录屏