【发布时间】:2021-06-07 11:53:30
【问题描述】:
我有 1 个小程序。我正在通过 CURL X POST 发送 json 请求,应该会得到答案。 客户端代码是:
curl -XPOST -d'{"animal":"cow", "sound":"moooo", "count": "3"}' 192.168.88.88:5000/test
服务器代码是:
import json
from flask import Flask, request, jsonify
app = Flask(__name)
@app.route("/test", methods=['POST'])
def json_example():
content = request.get_json(silent=True)
animal = content["animal"]
sound = content["sound"]
count = str(content["count"])
i=0
res=''
while i<int(count):
temp = animal + "says " + sound +"\n"
res = temp +res
i = i + 1
return res
app.run(host='0.0.0.0', port = 5000)
如果我在邮递员处运行请求并指示这是 json 类型 - 那么一切正常,但如果我通过 curl 运行它 - 有错误(无类型对象不可下标) 请建议,如何更正服务器上的代码并指出所有响应都是 json 类型。
谢谢
【问题讨论】:
-
request.get_json(...)为您的情况返回None。您应该在致电get_json()之前询问if request.is_json。
标签: python json python-3.x flask