首页 > 解决方案 > 将参数传递给由 python 中的烧瓶创建的 API

问题描述

我是 API 和 python 的新手。实际上,在对在 RI 中找到支持水管工的免费主机感到失望之后,决定通过 python 尝试它。简单的问题是我有一个简单的函数,它接受两个数字参数并使用给定的 CSV 文件进行一些计算并返回一个数字(我只是在 R 中由本地主机中的管道工完成)。现在在python中进行测试已经编写了以下代码:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "hello world!"

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

好吧,这可以正常工作。但是当我尝试制作一个函数来接受这样的参数时:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello(a):
    return a + 2

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

我得到这个页面,上面说我没有通过参数。

在此处输入图像描述

我的主要问题是我如何传递论点?(例如,在 R 管道工创建的 API 中,我将其称为localhost/5000/?a=2:)

我的另一个问题是,这种 API 主机和请求可能是 Heroku 之类的吗?

标签: pythonapiflaskflask-restfulheroku-api

解决方案


来自Flask 文档

您可以通过使用 标记部分来将可变部分添加到 URL <variable_name>。然后,您的函数接收<variable_name>作为关键字参数。或者,您可以使用转换器来指定参数的类型,例如<converter:variable_name>.

所以在你的情况下,这将是:

@app.route("/<int:a>")
def hello(a):
    return a + 2

其他选择是使用request data


推荐阅读