如何用flask制作一个简单的POST函数?

问题描述 投票:0回答:1

我做了一个本地服务来学习flask并尝试编写一些get/post函数。我对 GET 没问题,但 POST 只是让我有点困惑。我想做的是,当某个用户将他的名字作为 POST 请求服务发送时,它将返回“Hello name”。我做了一些研究,但我看到的一切都非常复杂并且充满了 json。我不想使用 json 因为我只是发送一个字符串并返回一个字符串。你们能帮我解决这个问题并告诉我如何在curl 上测试该帖子请求吗?预先感谢!

编辑:我尝试将数据以 json 格式写入

data = { "name" : " "}

并尝试发帖

@app.route("/f",methods=['POST'])
def f():
    request_data = request.get_json()
    myName = request_data['name']
    return (str(myName))

但是没有用。

python flask post
1个回答
2
投票

第1步:安装Flask

pip3 install flask

第 2 步:创建文件

app.py
,其中:

from flask import Flask, request
app = Flask(__name__)

@app.route('/', methods = ['POST'])
def data():
    rq = request.form

    return 'Hello ' + rq.get('name', 'No name')

第3步:启动Flask

export FLASK_APP=hello.py
flask run

第 4 步:使用 cURL 调用应用程序

curl -X POST http://127.0.0.1:5000/ -d "name=Bob"

->

Hello Bob

Json 替代方案:

from flask import Flask, request
app = Flask(__name__)

@app.route('/', methods = ['POST'])
def data():
    rq = request.get_json()

    return 'Hello ' + rq.get('name', 'No name')

那么 cURL 将是:

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

->

Hello Bob
© www.soinside.com 2019 - 2024. All rights reserved.