Python 如何直接向flask应用程序对象发出get请求

Python 如何直接向flask应用程序对象发出get请求,python,json,post,flask,get,Python,Json,Post,Flask,Get,我继承了一个使用flask的项目。这个flask应用程序有几个API,每个API都有一个返回json对象的GET函数 我被要求实现一个额外的API,从其他API请求信息。所以我的问题是如何直接向flask应用程序发出GET请求?是不是有点像 from flask import request @app.route('/root_dir/api_number_1/info', methods=['GET']) def request_info_from_api_number_1(): r

我继承了一个使用flask的项目。这个flask应用程序有几个API,每个API都有一个返回json对象的GET函数

我被要求实现一个额外的API,从其他API请求信息。所以我的问题是如何直接向flask应用程序发出GET请求?是不是有点像

from flask import request

@app.route('/root_dir/api_number_1/info', methods=['GET'])
def request_info_from_api_number_1():
    return request.get_json()

@app.route('/root_dir/api_number_2/info', methods=['GET'])
def request_info_from_api_number_2():
    return request.get_json()

当我这样做时,函数返回None。我想我总是可以向flask url发出http请求,并将地址指定为localhost,但当我可以直接访问flask app对象时,必须发出http请求似乎很奇怪。

您可以使用现有的api函数吗

from flask import Flask
app = Flask(__name__)

@app.route("/foo")
def foo():
    return "foo"

@app.route("/foobar")
def foobar():
    return foo() + "bar"

if __name__ == "__main__":
    app.run(debug=True)

当你说你需要一个额外的API时,你是说另一个端点返回与现有路由相同的数据吗?如果是这样,您可以添加另一个decorator。新api不会返回与现有api相同的数据。然而,它确实需要来自现有API的数据来完成它的工作。您可能还误解了请求对象的功能,以及route()decorator如何处理url映射。如果您粘贴了一些现有的API代码,我可以尝试提供帮助,或者flask文档非常好,您可以查看它们。我想我可能误解了这一点,可能我上面的代码不是正确的方法。整个下午我都在看flask文档,到目前为止我所发现的就是如何向flask发出http请求。我希望有一种方法可以直接对flask应用程序对象执行此操作,而无需使用http。我已经可以访问python代码中的实际flask app对象。GET请求通常不包括JSON数据。您通常只会在POST和PUT请求中遇到这种情况。查询字符串参数通过
request.args
(类似字典的对象)公开。