有没有办法立即将默认内容类型更改为所有Bottle的错误响应?

时间:2015-03-16 17:59:46

标签: json python-2.7 bottle

我在Bottle中创建一个小型REST API。

我只想通过响应返回JSON,虽然我可以为每个HTTP状态代码使用错误装饰器@error(status_code),所以它输出JSON,我发现这个很长并且不太实用。 / p>

有人知道更好的方法吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我想我已经设法做到了这一点,虽然我不知道它的内存/编程效率如何:

import bottle
import json
app = bottle.default_app()  # or bottle.app()

for http_code in bottle.HTTP_CODES:
    @app.error(http_code)
    def json_error(error):
        bottle.response.default_content_type = "application/json"
        return json.dumps(dict(error=error.status_code, message=error.status_line))