我有一部分我使用Bottle(http://bottlepy.org/docs/dev/index.html)暴露的API。
我现在希望为最终用户客户端记录这些端点,并且正在寻找一个好的解决方案。我正在寻找与我的"路线"紧密结合的东西。在Bottle应用程序中定义,以便将来的任何更改保持同步。我想要记录的关键区域是接受的HTTP方法类型和必要的查询参数。
我在下面添加了一个示例路由,用于查询底层API中定义的实例是否在线。正如您所看到的,路由只接受GET请求,并且" check_valid_instance" function期望找到一个查询参数。看看这个路由定义,没有迹象表明需要查询参数,这就是我想在这里添加的内容!既可以是源代码,也可以是外部某些类型的帮助页面
@app.route("/application/app_instance/is_instance_online", method="GET")
def is_instance_online():
_check_valid_instance()
function = eval("app_instance.is_instance_online")
return _process_request_for_function(function)
以上路线将被视为以下
http://IP:Port/applicaton/app_instance/is_instance_online?instance=instance_name
欢迎任何建议!
谢谢!
答案 0 :(得分:0)
对于其他参数,您可以创建类似于此的结构:
COMMANDS = {'is_instance_online': {'mandatory_params': 'instance_name',
'description': 'command description'}}
self.bottle.route('/<command>', method='GET', commands=COMMANDS)(self.command_execute)
然后您应该能够生成整个API的JSON描述,如下所示: Automatic Generation of REST API description with json