json 使用flask返回的web浏览器API调用405

bogh5gae  于 2022-11-19  发布在  其他
关注(0)|答案(1)|浏览(112)

我是flask的新手,我试着做一个简单的json请求,我试过通过cmd使用curl:

curl -d "{35465460:55}" 127.0.0.1:5000/post

退货:

  • 无法解码JSON对象:属性名称必须括在双引号中:第1行第2列(字符1)*

所以我试着:

curl 127.0.0.1:5000/post?data={1:1}

退货:

  • 请求的URL不允许使用该方法。*

我在www.example.com上使用的代码app.py是:

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

randomnumber = 0
@app.route('/')
def hello_world():
    randomnumber = random.randrange(0,100)
    return 'Hello, World! Your random number is: ' + str(randomnumber)
@app.route('/post', methods=["GET","POST"])
def testpost():
    input_json = request.get_json(force=True)
    dictToReturn = {'text':input_json['text']}
    return jsonify(dictToReturn)

所以我的问题是为什么我似乎不能得到返回的json数据?

eoigrqb6

eoigrqb61#

JSON不支持整数作为键-键必须是字符串。
在路由路径中包含HTTP方法名称是不可取的,因为它不能很好地伸缩,并且当您允许一个以不同方法命名的路由使用多个方法时,会造成混乱。
您可以将-X POST与curl一起使用,使其提交POST而不是GET(这是默认方法)。

相关问题