【发布时间】:2015-01-08 22:15:14
【问题描述】:
我正在开发一个可供各种客户端使用的 API(使用 Python Bottle 框架)。在这样做的过程中,我试图用一块石头杀死 2 只鸟。我想做的是创建某种类型的装饰器/属性,我可以在其中描述 API 的每个公共路由。然后,我有一个循环遍历所有其他路由的路由,并收集这些信息(描述、输入、输出......)。此信息以 JSON 数组的形式返回 - 它以用户友好的 html 格式呈现。
收集路线信息很容易:
@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
关于如何实施这种方法的任何建议?是否已经存在我不知道的类似情况?
【问题讨论】:
标签: python documentation asp.net-web-api bottle