У меня есть код ниже в Python3, который получает запрос POST. Пример запроса показан позже.
Я вижу, что запрос POST идет правильно. Данные JSON, поступающие через POST, имеют 2 ключа - "id"
и "ingredients"
. Но когда я пытаюсь получить доступ к данным, основанным на ключах, например content ["id"], как показано ниже, он показывает ошибку
TypeError: объект «Response» не может быть подписан
Код:
@app.route('/cuisine/api/json',methods=['POST'])
def getCuisine():
content = jsonify(request.json)
return content["id"]
Пример CURL
curl --header "Content-Type: application/json" --request POST --data '{"id": 10259,"ingredients": ["romaine lettuce","black olives","grape tomatoes","garlic","pepper","purple onion","seasoning","garbanzo beans","feta cheese crumbles"]}' http://127.0.0.1:5000/cuisine/api/json
Кажется, я следовал этому посту правильно, но не работает. Чего мне не хватает?
EDIT
Полная трассировка ошибок
Traceback (most recent call last):
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/MacUser/anaconda3/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/MacUser/Desktop/cuisine-prediction/webservice.py", line 62, in getCuisine
return content["id"]
TypeError: 'Response' object is not subscriptable