我做了一个本地服务来学习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))
但是没有用。
第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