FastAPI学习笔记(一)-5.当2个接口的调用方法和路由相同时,按照前后顺序,只执行第一个接口
/tutorial/chapter03.py
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 ''' 2 @author:invoker 3 @project:fastapi202108 4 @file: chapter03.py 5 @contact:invoker2021@126.com 6 @descript: 7 @Date:2021/8/5 21:22 8 @version: Python 3.7.8 9 ''' 10 11 from fastapi import APIRouter 12 13 app03 = APIRouter() 14 15 """ 16 第三章 路径参数与数字验证 17 """ 18 19 @app03.get('/path/parameters') 20 async def path_param01(): 21 return {"msg": "this is a msg"} 22 23 24 @app03.get('/path/{parameters}') 25 async def path_param02(parameters: str): 26 return {"msg": parameters}
@app03.get('/path/parameters')
async def path_param01():
return {"msg": "this is a msg"}
@app03.get('/path/{parameters}')
async def path_param02(parameters: str):
return {"msg": parameters}
2个接口的方法都是get
2个接口的路径一个是‘/path/parameters’
另一个是'/path/{parameters}'
方法的参数和方法的返回值不同。
此时调用2个接口
调用第一个接口的结果如下:
调用第二个接口的结果如下:
调换2个接口的位置顺序
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 ''' 2 @author:invoker 3 @project:fastapi202108 4 @file: chapter03.py 5 @contact:invoker2021@126.com 6 @descript: 7 @Date:2021/8/5 21:22 8 @version: Python 3.7.8 9 ''' 10 11 from fastapi import APIRouter 12 13 app03 = APIRouter() 14 15 """ 16 第三章 路径参数与数字验证 17 """ 18 19 @app03.get('/path/{parameters}') 20 async def path_param02(parameters: str): 21 return {"msg": parameters} 22 23 @app03.get('/path/parameters') 24 async def path_param01(): 25 return {"msg": "this is a msg"}
@app03.get('/path/{parameters}')
async def path_param02(parameters: str):
return {"msg": parameters}
@app03.get('/path/parameters')
async def path_param01():
return {"msg": "this is a msg"}
重新测试执行2个接口:
调用第一个接口:
调用第二个接口:
由此可见,当2个接口的路径和调用方法相同时,使用的是第一个接口的返回值
本文来自博客园,作者:kaer_invoker,转载请注明原文链接:https://www.cnblogs.com/invoker2021/p/15106328.html