getList<T> method
Implementation
Future<List<T>> getList<T>(
String endpoint, {
required T Function(Map<String, dynamic>) fromJson,
Map<String, dynamic>? queryParams,
}) async {
try {
final uri = _buildUri(endpoint, queryParams);
_logRequest('GET', uri);
final response = await _client.get(uri, headers: _getHeaders());
_logResponse(response);
if (response.statusCode >= 200 && response.statusCode < 300) {
final List<dynamic> dataList = jsonDecode(response.body);
return dataList
.map((item) => fromJson(item as Map<String, dynamic>))
.toList();
} else {
throw Exception("Server returned code ${response.statusCode}");
}
} catch (e) {
throw Exception(e.toString());
}
}