from flask import Flask, jsonify, request import requests app = Flask(__name__) # набор данных пациентов и их врачей patients_data = [ {'id': 1, 'name': 'Patient A', 'email': 'patient.a@example.com', 'doctor_id': 1}, {'id': 2, 'name': 'Patient B', 'email': 'patient.b@example.com', 'doctor_id': 2}, {'id': 3, 'name': 'Patient C', 'email': 'patient.c@example.com', 'doctor_id': 1}, ] # URL сервиса докторов doctor_service_url = "http://localhost:5000" @app.route('/', methods=['GET']) def get_index(): return "это второй сервис" @app.route('/patients', methods=['GET']) def get_patients(): return jsonify(patients_data) @app.route('/patients/', methods=['GET']) def get_patient(id): for patient in patients_data: if patient['id'] == id: return jsonify(patient) return jsonify({'error': 'Пациент не найден'}), 404 @app.route('/patients', methods=['POST']) def create_patient(): new_patient = request.json # назначить уникальный id новому пациенту new_patient['id'] = len(patients_data) + 1 patients_data.append(new_patient) # отправляем запрос другому сервису requests.post(f"{doctor_service_url}/doctors/1/patients", json=new_patient) return jsonify(new_patient), 201 @app.route('/patients/', methods=['PUT']) def update_patient(id): for patient in patients_data: if patient['id'] == id: patient.update(request.json) # отправляем запрос другому сервису requests.put(f"{doctor_service_url}/doctors/1/patients/{id}", json=request.json) return jsonify(patient), 200 return jsonify({'error': 'Пациент не найден'}), 404 @app.route('/patients/', methods=['DELETE']) def delete_patient(id): # отправляем запрос другому сервису requests.delete(f"{doctor_service_url}/doctors/1/patients/{id}") global patients_data patients_data = [patient for patient in patients_data if patient['id'] != id] return jsonify({'message': 'Пациент удален'}), 200 if __name__ == '__main__': app.run(host='0.0.0.0', port=5001)