Я написал api rest с помощью флакона Python с mongodb и реализовал программу клиентского устройства, которая связывается с приложением сервера, но продолжает получать ошибку 404 из веб-приложения.По какой-то причине мне трудно заставить мой python-сервер сотрудничать.То, что я пытаюсь сделать, это получить все данные JSON из коллекции mongodb, которая отформатирована следующим образом:
{
Results:
{'time1': 'TIME1_STR', 'temp1': 'TEMP1_STR'}
{'time2': 'TIME2_STR', 'temp2': 'TEMP2_STR'}
{'time3': 'TIME3_STR', 'temp3': 'TEMP3_STR'}
}`
Я могу перебрать список записей, если они содержат одно и то же имя объекта, например время,который вернет все содержимое коллекции с указанием времени объекта.Однако мне нужно вернуть объекты time1, time2 и time3, а не все объекты с именем time.Я не нашел способа сделать это, который не дает мне ошибку 404. Например, незакомментированный код возвращает все массивы объектов json с именем объекта temp1, однако это не позволяет мне получать записи для time2и массивы time3, как указано в закомментированной части кода.Может кто-нибудь, пожалуйста, помогите мне разобраться и исправить эту проблему, чтобы мой проект работал правильно?
app.py
from flask import Flask, jsonify, json, request
from flask_pymongo import PyMongo
from pprint import pprint
"""***************************** INITIALIZE *********************************"""
# Initialize Flask
app = Flask(__name__)
# Configure MongoDB
app.config['MONGO_URI'] = 'mongodb://pkitsos:GoLobo$@localhost:27017/admin'
# Initialize MongoDB
mongo = PyMongo(app)
# [GET] retrieve list of logins
@app.route('/', methods=['GET'])
def get_all_logins():
thermo = mongo.db.thermo
output = []
# Find all queries in login collection
for q in thermo.find():
output.append({'time1': q['time1'], 'temp1': q['temp1']})
"""
for q in thermo.find().limit(1):
output.append({'time2': q['time2'], 'temp2': q['temp2']})
for q in thermo.find().limit(1):
output.append({'time3': q['time3'], 'temp3': q['temp3']})
"""
return jsonify({'result' : output})