关于记录Python Bottle Web服务的端点的建议

时间:2014-05-21 10:38:44

标签: python rest bottle documentation-generation

我有一部分我使用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

欢迎任何建议!

谢谢!

1 个答案:

答案 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