Flask возвращает правильный объект списка для тестирования в Postman

в настоящее время я делаю кое-какую работу для школы;

У меня есть приложение flask и несколько тестов postman, которые я должен пройти, один из которых запрашивает массив dicts (что-то вроде [{dict1}, {dict1},...])

ive was trying to return this:

result = [{
    "reservationUid": data["reservationUid"],
    "status": data["status"],
    "startDate": data["startDate"],
    "tillDate": data["tillDate"],
    "book": book_data,
    "library": library_data
}]

ive used jsonify(), dumps() + mimetype='application/json', make_response(), but nothing really helped, it seems like if i do so, postman wont count that as json but as undefined?

например, для return Response(dumps(result), mimetype='application/json') возвращается TypeError: Cannot read property 'status' of undefined

вот часть теста, где он умирает:

    const response = pm.response.json();
    pm.expect(response).to.be.an("array")
    const reservation = _.find(response, { "reservationUid": reservationUid })
    pm.expect(reservation.status).to.be.eq("RENTED")
    pm.expect(reservation.startDate).to.be.not.undefined
    pm.expect(reservation.tillDate).to.be.not.undefined

тогда мои возвращаемые данные ответа выглядят как

[
    {
        "reservationUid": "f464ca3a-fcf7-4e3f-86f0-76c7bba96f72",
        "status": "RENTED",
        "startDate": "2021-10-09",
        "tillDate": "2021-10-11",
        ... <some more data here>
    }
]

в основном статус на самом деле "RENTED", как и требуется.

Для приложений django, которые возвращают данные сериализаторов с полем many=True, такие тесты работают просто отлично, но поскольку вы не можете просто вернуть массив во flask, это становится так сложно :(

)

Мое лучшее решение - перенаправить мои запросы в приложение django, но есть ли способ вернуть правильный массив json из flask? Заранее спасибо

Изменили ли вы тип содержимого вашего почтальона на:

"Content-Type": "application/json"
Вернуться на верх