FastAPI學習筆記(一)-5.當2個接扣的呼叫方法和路由相同時,按照前後順序,只執行第一個介面
阿新 • • 發佈:2021-08-05
/tutorial/chapter03.py
1 ''' 2 @author:invoker 3 @project:fastapi202108 4 @file: chapter03.py 5 @contact:[email protected] 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('View Code/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個介面的位置順序
1 ''' 2 @author:invoker 3 @project:fastapi202108 4 @file: chapter03.py 5 @contact:[email protected] 6 @descript: 7 @Date:2021/8/5 21:22 8 @version: Python 3.7.8View Code9 ''' 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