2017-11-26 6 views
0

フラスコ開発の新機能です。以下は私が今行っているチュートリアルシリーズからの要請です。私はPostmanを使って、以下のような投稿要求を出しました。フラスコ不良リクエストエラー400

ブラウザ(またはプロキシ)はあなたが私を助けることができる場合は、このサーバは

`from flask import Flask, jsonify, abort, make_response, request 

    app = Flask(__name__) 

    tasks = [ 
     { 
      'id': 1, 
      'title': u'Buy groceries', 
      'description': u'Milk, Bread, Pizza, Fruit', 
      'done': False 
     }, 
     { 
      'id':2, 
      'title':u'Learn Python', 
      'description': u'Need to find a good Python tutorial on the web', 
      'done': False 
     } 
    ] 

    @app.route('/todo/api/v1.0/tasks', methods=['POST']) 
    def create_task(): 
     if not request.json or not 'title' in request.json: 
      abort(400) 
     task = { 
      'id': request.json['task']['id'], 
      'title': request.json['task']['title'], 
      'description': request.json['task']['description'], 
      'done': False 
     } 
     print(request.json) 
     tasks.append(task) 
     return jsonify({'task': task}), 201 


    if __name__ == '__main__': 
     app.run(debug=True)` 

私は幸せになることができなかったという要求を送信した:それは実行時にしかし、私はエラーコンソールを表示しますエラーの理由を理解する。 JSONリクエストは次のとおりです。

{ 
    "task": { 
     "id": 3, 
     "title": "Read a book", 
     "description": "", 
     "done": false 
    } 
} 

答えて

1

私はこの行は失敗していると信じて:

if not request.json or not 'title' in request.json: 
     abort(400) 

'title''task'の下で、あなたはおそらくしたいので、何かのように:

if not request.json or 'task' not in request.json or 'title' not in request.json['task']: 
    abort(400) 
関連する問題