from flask import Flask, jsonify, request import uuid app = Flask(__name__) heroes = {} @app.route('/heroes', methods=['GET']) def get_heroes(): return jsonify(list(heroes.values())) @app.route('/heroes/<uuid:hero_uuid>', methods=['GET']) def get_hero(hero_uuid): hero = heroes.get(str(hero_uuid)) if hero: return jsonify(hero) return jsonify({'error': 'Not found'}), 404 @app.route('/heroes', methods=['POST']) def create_hero(): data = request.get_json() hero_uuid = str(uuid.uuid4()) hero = { 'uuid': hero_uuid, 'name': data['name'], 'role': data['role'], 'strength': data['strength'] } heroes[hero_uuid] = hero return jsonify(hero), 201 @app.route('/heroes/<uuid:hero_uuid>', methods=['PUT']) def update_hero(hero_uuid): hero = heroes.get(str(hero_uuid)) if not hero: return jsonify({'error': 'Not found'}), 404 data = request.get_json() hero['name'] = data['name'] hero['role'] = data['role'] hero['strength'] = data['strength'] return jsonify(hero) @app.route('/heroes/<uuid:hero_uuid>', methods=['DELETE']) def delete_hero(hero_uuid): if str(hero_uuid) in heroes: del heroes[str(hero_uuid)] return '', 204 return jsonify({'error': 'Not found'}), 404 if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)