import 'package:dio/dio.dart'; /// Класс для описания интерфейса сервиса по управлению HTTP запросами abstract interface class IHttpClient { /// Описывает поля HTTP клиента const IHttpClient(); /// Наименование сервиса static const name = 'IHttpClient'; /// Метод для реализации запроса GET /// /// Принимает: /// - [path] - путь к ресурсу /// - [data] - тело запроса /// - [queryParameters] - параметры запроса /// - [options] - конфигурация запроса Future get( String path, { Object? data, Map? queryParameters, Options? options, }); /// Метод для реализации запроса POST /// /// Принимает: /// - [path] - путь к ресурсу /// - [data] - тело запроса /// - [queryParameters] - параметры запроса /// - [options] - конфигурация запроса Future post( String path, { Object? data, Map? queryParameters, Options? options, }); /// Метод для реализации запроса PATCH /// /// Принимает: /// - [path] - путь к ресурсу /// - [data] - тело запроса /// - [queryParameters] - параметры запроса /// - [options] - конфигурация запроса Future patch( String path, { Object? data, Map? queryParameters, Options? options, }); /// Метод для реализации запроса PUT /// /// Принимает: /// - [path] - путь к ресурсу /// - [data] - тело запроса /// - [queryParameters] - параметры запроса /// - [options] - конфигурация запроса Future put( String path, { Object? data, Map? queryParameters, Options? options, }); /// Метод для реализации запроса DELETE /// /// Принимает: /// - [path] - путь к ресурсу /// - [data] - тело запроса /// - [queryParameters] - параметры запроса /// - [options] - конфигурация запроса Future delete( String path, { Object? data, Map? queryParameters, Options? options, }); /// Метод для реализации запроса POST /// /// Принимает: /// - [path] - путь к ресурсу /// - [data] - тело запроса /// - [queryParameters] - параметры запроса /// - [options] - конфигурация запроса Future head( String path, { Object? data, Map? queryParameters, Options? options, }); }