Flask API中的POST请求示例提供了"方法不允许"

时间:2016-01-07 14:42:03

标签: python mongodb python-2.7 api flask

我使用的是FLASK API,我想使用POST请求。

我想做一个POST请求的例子,它会返回一些东西,我不断收到错误信息" Method Not Allowed"。

我想提供一个参数(例如"rsday")来搜索用户并返回JSON,实际上我不知道在哪里提供这个参数而我不明白为什么我收到了这条消息。 在这里,我做了一个简单的路线:

query_params = 'name1'

请帮忙吗?

1 个答案:

答案 0 :(得分:1)

可能的原因是您可能没有针对路由执行POST请求,该请求仅接受POST请求。这是一个简化的示例,删除了mongodb详细信息以说明这一点。

from flask import Flask

app = Flask(__name__)

@app.route('/show-user', methods=('POST',))
def show_user():
    return "name info"

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

现在,如果我们执行POST请求,它可以正常工作,但如果我们执行A GET请求,则会引发您看到的错误:

curl -H "Content-Type: application/json" -X POST -d '{}' http://127.0.0.1:5000/show-user
name info

curl -H "Content-Type: application/json" -X GET http://127.0.0.1:5000/show-user

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>