Skip to content

About

πŸš€ Demo - package for working with REST API

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rest Client Demo

НСбольшой Dart-ΠΏΠ°ΠΊΠ΅Ρ‚ с REST-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π½Π° Dio. Он Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ HTTP-ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ошибки Π² Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ multipart-запросы, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Server-Sent Events.

Установка

dart pub get

ИспользованиС

import '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

About

πŸš€ Demo - package for working with REST API

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages