Создаю REST API, endpoint user и хочу сделать параметр id опциональным.
Конечный результат должен быть таким:
1)GET '/user' возвращает всех пользователей
2)GET '/user/1' возвращает пользователя с id == 1
временно решил задачу, задав две разные функции - users() и user(id)
@app.route('/user', methods=['GET', 'POST'])
def users():
if request.method == 'GET':
users = User.query.all()
return jsonify(num_results=len(users),
objects=[user.serialize() for user in users])
@app.route('/user/<int:id>', methods=['GET', 'PUT', 'DELETE'])
def user(id):
if request.method == 'GET':
user = User.query.filter(User.id == id).first()
return jsonify(user=user.name)
есть ли более правильный способ сделать параметр опциональным?