""" get_materials API 응답 오류 수정 문제: PostgreSQL Row 객체 JSON 직렬화 불가능 해결: 명시적 딕셔너리 변환 날짜: 2024-07-15 프로젝트: TK-MP-Project """ @app.route('/api/materials', methods=['GET']) def get_materials(): """수정된 자재 목록 조회 API - Row 객체 직렬화 문제 해결""" try: job_number = request.args.get('job_number') if not job_number: return jsonify({ 'success': False, 'error': 'job_number parameter is required' }), 400 with get_db_connection() as conn: cur = conn.cursor() cur.execute(""" SELECT m.id, m.job_number, m.item_number, m.description, m.category, m.quantity, m.unit, m.created_at FROM materials m WHERE m.job_number = %s ORDER BY m.item_number """, (job_number,)) # 🔧 핵심 수정: Row 객체를 명시적으로 딕셔너리로 변환 materials = [] for row in cur.fetchall(): material = { 'id': row[0], 'job_number': row[1], 'item_number': row[2], 'description': row[3], 'category': row[4], 'quantity': row[5], 'unit': row[6], 'created_at': row[7].isoformat() if row[7] else None } materials.append(material) return jsonify({ 'success': True, 'data': materials, 'count': len(materials), 'job_number': job_number }) except Exception as e: print(f"❌ Error in get_materials: {e}") return jsonify({ 'success': False, 'error': str(e) }), 500