2
我正在研究將由各種客戶端使用的API(使用Python Bottle框架)。在這樣做的過程中,我試圖用文檔來扼殺兩隻鳥。我想要做的是創建一些類型的裝飾器/屬性,我可以在其中描述API的每個公共路由。然後,我有一條路徑遍歷所有其他路徑,並收集這些信息(描述,輸入,輸出...)。這些信息以JSON數組的形式返回 - 它以用戶友好的html格式呈現。使用自定義裝飾器/屬性記錄Python Bottle API
收集的路由信息很簡單:
@route('/api-map',method=['GET'])
def api_map():
api_methods = []
for route in app.routes:
if route.rule != "/api-map":
##TODO: get custom attribute from routes function with description, inputs, outputs...
api_methods.append({"route":route.rule,"desc":"?"})
response.content_type = 'application/json'
return {"apiMap":api_methods}
但我停留在如何實現文檔。下面是概念上我試圖拉斷,其中「svmdoc」是我把這個信息屬性:
@route('/token',method=['GET'])
@svmdoc(desc="Generates Token",input="username and password")
def getToken():
#TODO token magic
就如何落實這種做法有什麼建議?像這樣的東西已經存在,我不知道?