API для получения актуальных новостей
dart pub add json_annotation
dart pub add --dev build_runner
dart pub add --dev json_serializable
dart pub add --dev freezed
dart pub add retrofit
dart pub add --dev retrofit_generator
flutter pub run build_runner build --delete-conflicting-outputs
- Добавление лоадера
- Обработка ошибок и вывод сообщения об ошибке
- Добавление пагинации (оптимизированной загрузки элементов страницами)
- Добавление рефреша (повторной загрузки элементов)
- Добавление кодогенерации для маппинга моделей
- Переход на источник новости
- Добавить в подробную информацию о новости дату или другие данные
@Freezed(genericArgumentFactories: true) class PaginationResponse with _$PaginationResponse { const factory PaginationResponse({ int? count, String? next, String? previous, List? results, }) = _PaginationResponse;
factory PaginationResponse.fromJson(Map<String, dynamic> json, T Function(Object?) fromJsonT) => _$PaginationResponseFromJson(json, fromJsonT); }