TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #380 1.84K
Hola, Amigos! На связи Михаил Чернецов, Flutter dev в Amiga. Сегодня поговорим про то, как мы работаем с сетевыми запросами, а именно об одной из библиотек, которая нам это облегчает - Chopper.

Chopper уже достаточно давно существует и был создан как аналог библиотеки Retrofit, которая активно используется на Android. Он использует генерацию кода для упрощения работы с HTTP-клиентом.

Для использования Chopper, необходимо создать сервисы для работы с Rest API:

part "my_service.chopper.dart";

@ChopperApi(baseUrl: "/todos")
abstract class MyService extends ChopperService {

static MyService create([ChopperClient? client]) =>
_$MyServiceService(client);

@Get()
Future<List<Todo>> getTodos();

@Post()
Future<void> addTodo({
@Body Map<String,dynamic> body,
});
}


Также необходимо создать класс самого клиента:

final chopper = ChopperClient(
baseUrl: "http://example.com/api",
services: [
MyService .service,
],
interceptor: [
MyInterceptor(),
],
);


Также для общей логики всех запросов можно использовать Interceptor, аналог middleware на Backend. В Chopper существует Request и Response Interceptor’ы.

class HeaderInterceptor extends RequestInterceptor{
@override
FutureOr<Request> onRequest(Request request)async {
return request.copyWith(
headers: {
…request.headers,
‘my_header’: ‘abc’
},
);
}
}


Для прерывания запроса, например, с отсутствующим интернетом, можно просто выбросить исключение. При этом его нужно будет поймать и обработать в коде.
  • 🔥 7
  • 🥰 4
  • ❤ 2
  • 👍 1
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →