使用烧瓶返回bool作为POST响应[复制]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用烧瓶返回bool作为POST响应[复制]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我正在嘲笑一个Post api(用C#编写),它在调用时返回bool值true或false。 content-type是请求的application / json
true
我现在正在尝试使用Flask在Python中模拟该端点,我正在努力使其传递一个布尔值。
我试过了
return make_response(True,200)
或者干脆
return True
在这两种情况下,api都无法发送所需的响应并抛出错误。
在绝望的尝试中,我尝试将“True”作为字符串返回
return make_response("True", 200)
这似乎在模拟级别工作,但消耗代码(c#)失败,因为它试图将返回值转换为bool
result = response.Content.ReadAsAsync<bool>().Result
关于如何使模拟api返回bool值的任何想法???
答案
您应该考虑发送json数据。
return json.dumps(True)
另一答案
你没有返回有效的JSON。在JSON中,布尔值是小写的,"true"
。您可以使用json.dumps
生成值的正确JSON序列化。您还应该将响应的内容类型设置为application/json
。使用app.response_class
构建响应。
from flask import json
return app.response_class(json.dumps(True), content_type='application/json')
通常,您将发送多个值作为响应。 Flask提供jsonify
作为返回JSON对象的快捷方式,其中包含传递它的键和值。 (在Flask dev版本中,它已被改进,以处理除了对象之外的其他数据。)
from flask import jsonify
return jsonify(result=True, id=id)
以上是关于使用烧瓶返回bool作为POST响应[复制]的主要内容,如果未能解决你的问题,请参考以下文章
视图函数未返回有效响应。烧瓶棉花糖,RestAPI [重复]