BadRequestKeyError:400错误的请求:浏览器(或代理)发送了该服务器无法理解的请求。 KeyError:“用户名”

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

我正在使用python创建一个全栈应用程序,并在postman中对其进行测试。这是我的数据集的一个示例:

{
  "url": "http://www.tvmaze.com/episodes/934977/the-good-place-1x01-everything-is-fine",
  "name": "Everything Is Fine",
  "season": 1,
  "number": 1,
  "airdate": "2016-09-19",
  "airtime": "20:30",
  "runtime": 30,
  "image": "http://static.tvmaze.com/uploads/images/original_untouched/75/189395.jpg",
  "summary": "<p>test </p>",
  "reviews": []
}

我正在尝试对此集进行评论,但出现此错误:BadRequestKeyError: 400 Bad Request:浏览器(或代理)发送了该服务器无法理解的请求。 KeyError: 'username'

代码:

@app.route("/api/v1.0/episodes/<string:episode_id>/reviews",methods=["POST"])
def add_new_review(episode_id):
    new_review= {
        "_id": ObjectId(),
        "username": request.form["username"],
        "comment": request.form["comment"],
        "rating": request.form["rating"]
    }
    episodes.update_one({"_id":ObjectId(episode_id)},{"$push":{"reviews":new_review}})
    new_review_link="http://localhost:5000/api/v1.0/episodes/"+episode_id+"/reviews/"+str(new_review["_id"])

    return make_response(jsonify({"url":new_review_link}), 200)
python pycharm angular-fullstack
1个回答
0
投票
在您发送给应用程序的数据集中,您没有username键。

尝试这样的事情

{"username": "foo", "comment": "good", "rating": 5}

这应该可以解决您的问题

最诚挚的问候

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