get<T> method

Future<T> get<T>(
  1. String endpoint, {
  2. required T fromJson(
    1. Map<String, dynamic>
    ),
  3. Map<String, dynamic>? queryParameters,
})

Implementation

Future<T> get<T>(
  String endpoint, {
  required T Function(Map<String, dynamic>) fromJson,
  Map<String, dynamic>? queryParameters,
}) async {
  try {
    final uri = _buildUri(endpoint, queryParameters);
    _logRequest('GET', uri);

    final response = await _client.get(uri, headers: _getHeaders());
    _logResponse(response);

    if (response.statusCode >= 200 && response.statusCode < 300) {
      return fromJson(jsonDecode(response.body));
    } else {
      throw Exception("Server returned code ${response.statusCode}");
    }
  } catch (e) {
    throw Exception(e.toString());
  }
}