ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ Dart-ΠΏΠ°ΠΊΠ΅Ρ Ρ REST-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π½Π° Dio. ΠΠ½ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅Ρ HTTP-ΠΎΡΠ²Π΅ΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ multipart-Π·Π°ΠΏΡΠΎΡΡ, Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Server-Sent Events.
dart pub getimport 'package:rest_client_demo/rest_client.dart';
final Dio dio = Dio(
BaseOptions(
baseUrl: 'https://api.example.com',
connectTimeout: const Duration(seconds: 30),
receiveTimeout: const Duration(seconds: 60),
),
);
dio.interceptors.add(LogInterceptor());
final RestClient client = DioRestClient(dio: dio);
try {
final RestResponse response = await client.get(
path: '/users',
queryParams: {'page': 1},
);
final List<Object?> users = response.payload.dataAsList;
} on RestClientException catch (exception) {
// Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ exception.messages ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
}ΠΠ»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ multipart-ΡΠΎΡΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ RestContentType.formData Π² post,
put ΠΈΠ»ΠΈ patch. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ², Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΎΡΡΠ°ΡΡΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Dio.
dart format .
dart analyze
dart test