post method

  1. @override
Future<Map<String, dynamic>> post(
  1. String method, {
  2. Map<String, dynamic> queryParameters = const {},
  3. Map<String, dynamic> headers = const {},
  4. Map<String, dynamic> data = const {},
})
override

Выполняет HTTP POST запрос.

method — URL или путь для запроса. queryParameters — опциональные параметры запроса. headers — опциональные заголовки запроса. data — данные, передаваемые в теле запроса.

Если заголовок Content-Type соответствует multipart/form-data, данные преобразуются в FormData.

Возвращает Future с данными ответа в виде Map<String, dynamic>. В случае ошибки выбрасывает ApiException с подробностями ошибки.

Implementation

@override
Future<Map<String, dynamic>> post(
  String method, {
  Map<String, dynamic> queryParameters = const {},
  Map<String, dynamic> headers = const {},
  Map<String, dynamic> data = const {},
}) async {
  try {
    final normalizedHeaders = normalizeHeaders(headers);
    final isFormData = _checkIsFormData(normalizedHeaders);

    final response = await _client.post<Map<String, dynamic>>(
      method,
      queryParameters: queryParameters,
      options: Options(headers: normalizedHeaders),
      data: isFormData ? FormData.fromMap(data) : data,
    );
    return response.data ?? {};
  } on DioException catch (e) {
    throw await captureException(e);
  }
}