【问题标题】:How do I prevent having to fill in parameter names in flask-restful?如何避免在烧瓶中填写参数名称?
【发布时间】:2015-03-28 01:57:09
【问题描述】:

我正在使用 flask-restful 制作一个非常简单的 API,并希望处理 POST 参数而不必要求用户输入参数名称,例如

curl -d "data" localhost

而不是

curl -d "name=data" localhost

API 是在内部使用的,所以这种用法没有问题,但是,我无法让它工作。如果我这样做了

parser.add_argument('', type=str)

那么我仍然需要使用等号,例如-d "=data".

parser.add_argumnent(None, type=str)

引发异常。 没有parser.add_argument() parser.parse_args() 返回一个空容器。

【问题讨论】:

  • 学习flask.pocoo.org/docs/0.10/api/#flask.Request.args,并根据dict进行解析。
  • 我不知道你有多新,但你可以使用from flask import request 访问请求对象并将其用作if 'data' in request.args 做某事
  • 我不得不使用 request.form 而不是 request.args,但都一样,它现在可以工作了。谢谢! :)
  • @svd:不要犹豫,通过写下您自己问题的答案来提供您找到的解决方案。这可能对其他人有用;)

标签: python rest flask flask-restful


【解决方案1】:

正如@brunsgaard 所建议的:

Request.form 捕获字典中的所有 POST(和 PUT)数据。

如果输入的格式与问题中的完全相同,则以下代码会从字典中获取它:

request.form.keys()[0]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-03
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多