RouteSpec.fromJson constructor
RouteSpec.fromJson(
- Map<String, dynamic> json
)
Implementation
factory RouteSpec.fromJson(Map<String, dynamic> json) {
if (!json.containsKey('backend') && json.containsKey('room_name')) {
return RouteSpec(
metadata: RouteMetadata(name: json['domain'] as String, annotations: ((json['annotations'] as Map?) ?? {}).cast<String, String>()),
domain: json['domain'] as String,
backend: RouteBackend(room: RouteBackendTarget(name: json['room_name'] as String)),
paths: [RoutePath(targetPort: json['port'] as Object)],
);
}
final pathList = json['paths'] as List<dynamic>? ?? [];
return RouteSpec(
version: json['version'] as String? ?? 'v1',
kind: json['kind'] as String? ?? 'Route',
metadata: RouteMetadata.fromJson((json['metadata'] as Map).cast<String, dynamic>()),
domain: json['domain'] as String,
backend: RouteBackend.fromJson((json['backend'] as Map).cast<String, dynamic>()),
paths: pathList.whereType<Map>().map((item) => RoutePath.fromJson(item.cast<String, dynamic>())).toList(),
);
}