post<T> method
Future<T>
post<
T>( - String endpoint, {
- required dynamic data,
- required T fromJson(
- Map<String, dynamic>
),
})
Implementation
Future<T> post<T>(
String endpoint, {
required dynamic data,
required T Function(Map<String, dynamic>) fromJson,
}) async {
try {
final uri = _buildUri(endpoint, null);
final String encodedData = jsonEncode(data);
_logRequest('POST', uri, body: encodedData);
final response = await _client.post(
uri,
headers: _getHeaders(),
body: encodedData,
);
_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());
}
}