我有一個 connexion/flask/werkzeug 應用程序,我需要能夠在請求期間獲得“base_path”。例如:我的應用程序位于:http://0.0.0.0:8080/v1.0/ui/#/Pet,base_path 為:“http://0.0.0.0:8080/v1.0” 。我希望能夠在請求者執行任何定義的操作(GET、POST、PUT 等)時獲取 base_path。我一直無法找到獲取基本路徑的簡單方法。通過 python 調試器,我可以看到 base_path 在堆棧的較高位置可用,但似乎對應用程序入口點不可用。#!/usr/bin/env python3import connexionimport datetimeimport loggingfrom connexion import NoContentPETS = {}def get_pet(pet_id): pet = PETS.get(pet_id) # >>>--> I WANT TO GET THE BASE_PATH OF THE REQUEST HERE <--<<< return pet or ('Not found', 404)由于 nda 原因我無法詳細說明,我有此應用程序的多個 openapi 規范,了解請求的 base_path 對我來說很重要(因為它們不同)。如果有人能幫我想出一種方法來獲取每個請求的 base_path,我將不勝感激 :)
2 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
使用connexion.request.base_url
。 https://connexion.readthedocs.io/en/latest/request.html#header-parameters你可以訪問connexion.request
你的處理程序內部

拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
從文檔中參考這個主題(傳入請求數據)Flask
和帶有鉤子dump的傳入并為您的情況提取正確的例如:requestbefore_requestrequest.base_url
from flask import .., request
@bp.before_request
def dump_incoming_request():
from pprint import pprint
pprint(request.__dict__.items())
添加回答
舉報
0/150
提交
取消