Я довольно новичок в мире веб-разработки, и я пытаюсь выяснить, возможно ли сделать две записи из одного объекта request.json, используя curl X POST.Например, если я наберу
curl -i -H "Content-Type: application/json" -X POST -d '{"income":500, "age" : 4, "gender" : "male"}' http://localhost:5000/house
в командной строке.Я получаю
[
{
"income": 500.0,
"members": [
{
"age": 22,
"gender": "male"
}
],
"unique_id": 0
},
{
"income": 500.0,
"members": [
{
"age": 4,
"gender": "male"
}
],
"unique_id": 1
}
]
в качестве вывода.Я пытаюсь получить другой член (объект JSON возраста и пола), я попытался использовать curl X POST, как это
curl -i -H "Content-Type: application/json" -X POST -d '{"income":500, "age" : 4, "gender" : "female", "age" : 22, "gender" : "male"}' http://localhost:5000/house
, и результат должен выглядеть как
[
{
"income": 500.0,
"members": [
{
"age": 22,
"gender": "male"
}
],
"unique_id": 0
},
{
"income": 500.0,
"members": [
{
"age": 4,
"gender": "female"
"age" : 22
"gender" : "male"
}
],
"unique_id": 1
}
]
Но вместо этого я получаю
[
{
"income": 500.0,
"members": [
{
"age": 22,
"gender": "male"
}
],
"unique_id": 0
},
{
"income": 500.0,
"members": [
{
"age": 22,
"gender": "male"
}
],
"unique_id": 1
}
]
Как видите, я публикую только последний объект возраста и пола JSON, который я печатаю.Есть ли способ исправить это, так что он публикует объекты JSON возраста и пола.Мой код ниже.Спасибо.
households = []
@app.route('/house', methods=['POST'])
def post_household():
"""this here gives us our unique id by counting the number of household objects
we have in our households list"""
unique_id = len(households)
house = Household({
'unique_id' : unique_id,
'income': request.json['income'],
'members':[
{
'age': request.json['age'],
'gender': request.json['gender']
},
]})
"""turns the Household object back into a dictionary so it can be jsonified"""
return_to_dictionary = house.to_primitive()
"""append our newly created dictionary to our households list"""
households.append(return_to_dictionary)
return jsonify(households)