使用 flask-restful 时返回 text/html 内容类型

Posted

技术标签:

【中文标题】使用 flask-restful 时返回 text/html 内容类型【英文标题】:return text/html content-type when using flask-restful 【发布时间】:2014-12-15 20:03:36 【问题描述】:

在特定情况下,我想使用text/html 内容类型来响应错误,如下所示:

class MyResource(Resource):
    def get(self):
        if some_condition:
            return 'bad argument', 400

上面的代码返回一个application/json内容类型:'"bad argument"' 而不是 text/html 内容类型:'bad argument'

如何强制flask-restful 以text/html content-type 响应?

【问题讨论】:

【参考方案1】:

您必须使用 flask.make_response() 来返回“预烘焙”响应对象:

return flask.make_response('bad argument', 400)

Flask-Restful 将完整地传递 Response 对象,而不是尝试将它们转换为特定请求的 mime 类型。

【讨论】:

以上是关于使用 flask-restful 时返回 text/html 内容类型的主要内容,如果未能解决你的问题,请参考以下文章

flask,flask-restful接口返回值无法显示中文

Flask-restful:将复杂对象编组为 json

Flask-RESTful如何add_resource并传递非全局数据

Flask 学习-38.Flask-RESTful 序列化输出中文显示问题

Python Flask-Restful POST 不采用 JSON 参数

Python Flask-Restful POST不接受JSON参数