gpt4 book ai didi

python - 调用 flask restful API 资源方法

转载 作者:太空狗 更新时间:2023-10-29 17:06:39 24 4
gpt4 key购买 nike

我正在使用 Flask 创建一个用于移动平台的 API,但我也希望应用程序本身能够消化 API 以呈现 Web 内容。我想知道在 Flask 中访问 API 资源方法的最佳方法是什么?例如,如果我将以下类添加为资源:

class FooAPI(Resource):
def __init__(self):
# Do some things
super(FooAPI, self).__init__()
def post(self, id):
#return something
def get(self):
#return something

api = Api(app)
api.add_resource(FooAPI, '/api/foo', endpoint = 'foo')

然后在我想要的 Controller 中:

@app.route("/bar")
def bar():
#Get return value from post() in FooAPI

如何从 FooAPI 获取 post() 的返回值?我可以通过 api 变量以某种方式做到这一点吗?或者我是否必须在 Controller 中创建一个 FooAPI 实例?似乎必须有一种简单的方法来做到这一点,我只是不理解......

最佳答案

您的应用程序使用 API 的明显方式是像调用任何其他客户端一样调用它。应用程序同时充当服务器和客户端的事实并不重要,客户端部分可以将请求放入 localhost 并且服务器部分将以与获取相同的方式获取它们外部请求。要生成 HTTP 请求,您可以使用 requests , 或标准库中的 urllib2。

但是,尽管上述方法可以正常工作,但对我来说似乎有点过分了。在我看来,更好的方法是以常规应用程序和 API 都可以调用的方式公开应用程序的通用功能。例如,您可以有一个名为 FooLib 的包来实现所有共享逻辑,然后 FooAPI 成为 FooLib 的薄包装器,并且两者 FooAPIFooApp 调用 FooLib 来完成任务。

关于python - 调用 flask restful API 资源方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20169326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com