Python 从我的Flask代码查询我的Eve API

Python 从我的Flask代码查询我的Eve API,python,flask,eve,Python,Flask,Eve,在Flask中,我有一个Eve API在端点下运行,比如/API/v1/Widgets 我可以从Javascript中查询,但我不知道如何从我的Flask应用程序的其他地方正确地查询API 例如,刚才,如果我需要在我的一个路由中搜索小部件,那么我将加载请求模块,使用单独的http请求查询API,并处理返回的JSON @app.route('/hello') def show_hello(): resp = requests.get('http://example.com/api/v1

在Flask中,我有一个Eve API在端点下运行,比如/API/v1/Widgets

我可以从Javascript中查询,但我不知道如何从我的Flask应用程序的其他地方正确地查询API

例如,刚才,如果我需要在我的一个路由中搜索小部件,那么我将加载
请求
模块,使用单独的http请求查询API,并处理返回的JSON

@app.route('/hello')
def show_hello():
    resp   = requests.get('http://example.com/api/v1/Widgets')
    return jsonify({'results': resp.json()})
这肯定是非常低效的,似乎一定有类似的东西

my_endpoint = app.Eve.endpoint('Widgets')          # not real
return jsonify({'results': my_endpoint.search()})  # not real

但我不知道那是什么。有人能帮我了解一下,我是否可以/如何使用我的普通Flask应用程序路由直接查询Eve端点?

您可以使用
app.test\u client.get()
,但它具有速率限制、身份验证并引发请求前事件

使用v0.7(当前在上),您可以使用。此方法不受速率限制,不检查身份验证,也不引发预请求事件。用法示例:

from eve.methods.get import get_internal

payload = get_internal(endpoint)

不要从API请求;只需定义一个函数,该函数在调用“/hello”时以及在flask应用程序中可能使用它的任何其他地方都会返回。我想使用我的Eve端点创建记录,这相当于在新记录中过帐,例如获取额外的变量等。。我认为这可能是应用程序的一个属性,或者是应用程序本身。