import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:flutter/foundation.dart'; import 'package:miapp_flutter/environments/archivo.dart'; import '../models/ArticuloModel.dart'; class ArticleApi { final String apiUrl = '${apiApp}/articulo'; Future> getArticles(int categoryId) async { String url = '$apiUrl?categoria=$categoryId&offset=0&max=100'; if (kDebugMode) { print('Url -> $url'); } try { final response = await http.get(Uri.parse(url)); if (response.statusCode == 200) { return { 'statusCode': response.statusCode, 'body': response.body, }; } else { return { 'statusCode': response.statusCode, 'body': 'Error: ${response.reasonPhrase}', }; } } catch (e) { return { 'statusCode': 501, 'body': 'Error: $e', }; } } Future> searchArticles(String query) async { try { final response = await http.get(Uri.parse('$apiUrl?nombre=$query')); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); if (response.statusCode == 200) { try { final Map data = json.decode(response.body); final List articlesJson = data['data']; return ArticleModel.fromJsonArray(articlesJson); } catch (e) { throw Exception('Error en procesamiento de datos: $e'); } } else { throw Exception('Error en la respuesta de la API: ${response.body}'); } } catch (e) { throw Exception('Error en la solicitud a la API: $e'); } } }