41 lines
1.1 KiB
Dart
41 lines
1.1 KiB
Dart
import 'package:json_annotation/json_annotation.dart';
|
||
|
||
part 'news_dto.g.dart';
|
||
//сборник классов, необходимых для десериализации с методами fromJson созданными автоматически в g файле. классы paginationdto, metadto - нахрен не упали насколько я понимаю
|
||
@JsonSerializable(createToJson: false)
|
||
class NewsDto {
|
||
@JsonKey(name: 'articles')
|
||
final List<NewAttributesDataDto>? data;
|
||
|
||
const NewsDto({
|
||
this.data,
|
||
});
|
||
|
||
factory NewsDto.fromJson(Map<String, dynamic> json) =>
|
||
_$NewsDtoFromJson(json);
|
||
}
|
||
|
||
@JsonSerializable(createToJson: false)
|
||
class NewAttributesDataDto {
|
||
final String? title;
|
||
final String? description;
|
||
@JsonKey(name: 'urlToImage')
|
||
final String? imagelink;
|
||
@JsonKey(name: 'url')
|
||
final String? id;
|
||
@JsonKey(name: 'publishedAt')
|
||
final String date;
|
||
|
||
const NewAttributesDataDto({
|
||
this.id,
|
||
this.title,
|
||
this.description,
|
||
this.imagelink,
|
||
required this.date
|
||
});
|
||
|
||
factory NewAttributesDataDto.fromJson(Map<String, dynamic> json) =>
|
||
_$NewAttributesDataDtoFromJson(json);
|
||
}
|
||
|