当前位置: 首页 > 面试题库 >

从Flask返回一个request.Response对象

叶书
2023-03-14
问题内容

我正在尝试使用Flask和请求构建一个简单的代理。代码如下:

@app.route('/es/<string:index>/<string:type>/<string:id>',
           methods=['GET', 'POST', 'PUT']):
def es(index, type, id):
    elasticsearch = find_out_where_elasticsearch_lives()
    # also handle some authentication
    url = '%s%s%s%s' % (elasticsearch, index, type, id)

    esreq = requests.Request(method=request.method, url=url,
                             headers=request.headers, data=request.data)
    resp = requests.Session().send(esreq.prepare())
    return resp.text

除丢失了Elasticsearch的状态代码外,此方法有效。我尝试直接返回resp(a
requests.models.Response),但这失败了

TypeError: 'Response' object is not callable

还有另一种简单的requests.models.Response从Flask返回a的方法吗?


问题答案:

好的,找到它:

如果返回一个元组,则该元组中的项目可以提供额外的信息。这样的元组必须采用格式(响应,状态,标题)。状态值将覆盖状态代码,并且标头可以是其他标头值的列表或字典。

(flask文档。)

所以

return (resp.text, resp.status_code, resp.headers.items())

似乎可以解决问题。



 类似资料:
  • 问题内容: 如果不是原始类型,返回类型的正确方法是什么?例如。我目前使用null如下。 问题答案: Void类是一个无法实例化的占位符类,用于保存对表示Java关键字void的Class对象的引用。 因此,以下任何条件就足够了: 参数化并返回或 参数化并返回 用您的一个参数化 你不能让这种方法,和其他任何回报 的东西 。由于忽略了某些内容,因此您可以返回任何内容。

  • 问题内容: 我有一个文件夹,其中包含index.js和几个模型(类)index.js book.js author.js 问题在于Author类似乎找不到书!它只是一个空对象。但是,如果我在index.js中切换导出,则将Book放在Author之后- 可以,但是其他模型将停止工作。 我不想做任何骇客工作。 问题答案: 这是因为您具有循环依赖关系。Node.js以非常特定的方式处理此问题: 第一个

  • 类从REST API接收表示下面JSON内容的。 目标是从这个返回一个来构建一个。 这是发布的JSON: 这是我的代码: 问题:我不确定我的方法是否正确。到目前为止,输出只显示JSON的第一个和最后一个花括号: 有没有其他方法可以从文件部分的字节中获得正确的?或者,创建JSONObject的方法可能是问题所在? 非常感谢您的提前点子!

  • 问题内容: 我有一个函数,可使用Pandas分析CSV文件并生成带有摘要信息的字典。我想从Flask视图返回结果作为响应。如何返回JSON响应? 问题答案: 将摘要数据传递给该函数,该函数返回JSON响应。 从Flask 0.11开始,你可以将任何JSON可序列化的类型(不仅是dict)传递为顶级对象。

  • 我对Spring编程是新手。我正在用Reactor/Webflux项目测试反应式编程。 数据库注册通过POST工作得很好。 我的模型: 我的存储库 我的用户服务

  • 我有一个组件订阅服务中的一个可观察对象。该方法反过来订阅另一个服务中的可观察对象。我想将一个数组从最后一个服务传递回第一个服务,然后第一个服务将该数组传递回组件。更具体地说,该组件调用其本地服务,然后调用一个数据服务,该数据服务通过http客户端访问我的数据库。http客户端正在工作,数据服务将数组返回给本地服务。本地服务接收数组,但我不知道如何将该数组作为可观察对象传递回组件。以下是简短的代码块