'endpoint shows null flask pymongo
I've created database and tables in mongoDB and inserted some values to check. But when i am putting http://127.0.0.1:5000/user it shows me null. enter image description here
Even it show's me HTTP:200
main.py:
load_dotenv()
app = Flask(__name__)
api = Api(app)
app.config["MONGO_URI"] = 'mongodb+srv://kawwaison:******@plent.mmmn3.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'
app.config["MONGO_DBNAME"] = 'plent'
mongo = PyMongo(app)
user_put_args = reqparse.RequestParser()
#arguments
event_put_args = reqparse.RequestParser()
#arguments
event_user_put_args = reqparse.RequestParser()
class User(Resource):
def post(self):
args = user_put_args.parse_args()
if len(list(mongo.db.user.find({'studentId': args['studentId']}))) == 0:
args['events'] = []
organisers_f = open(f'{os.path.dirname(os.path.abspath(__file__))}/organisers.txt', 'r')
organisers = [l.strip() for l in organisers_f.readlines()]
args['permission'] = 0
if args['studentId'] in organisers:
args['permission'] = 1
args['organisedEvents'] = []
result = mongo.db.user.insert_one(args)
print(result.inserted_id)
return {'id': str(result.inserted_id), 'permission': args['permission']}
def put(self):
args = user_put_args.parse_args()
mongo.db.user.update_one({'_id': ObjectId(args['id'])}, {'$set': {'email': args['email'], 'name': args['name'], 'studentId': args['studentId']}})
return {'success': True}
def get(self):
email = request.args.get('email')
user = mongo.db.user.find_one({'email': email})
if user != None:
user['id'] = str(user['_id'])
del user['_id']
user['events'] = [str(e) for e in user['events']]
if 'organisedEvents' in user.keys():
user['organisedEvents'] = [str(e) for e in user['organisedEvents']]
return user
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
