Carapacik / swagger_parser

Dart package that takes an OpenApi definition file and generates REST clients based on retrofit and data classes for your project.
https://pub.dev/packages/swagger_parser
MIT License
88 stars 33 forks source link

Fix/map additional properties ref #153

Closed elenaferr0 closed 6 months ago

elenaferr0 commented 6 months ago

This pull request solves an issue with generating maps. I have this json swagger v2: restapi.json which has a WrapperClass. As a property WrapperClass has a Map<String, ValueClass>, which is defined with this syntax. What was previosly generated was:

@JsonSerializable()
class WrapperClass {
  const WrapperClass({
    required this.map,
  });

  factory WrapperClass.fromJson(Map<String, Object?> json) => _$WrapperClassFromJson(json);

  final ValueClass map;

  Map<String, Object?> toJson() => _$WrapperClassToJson(this);
}

while the correct generated code is

@JsonSerializable()
class WrapperClass {
  const WrapperClass({
    required this.map,
  });

  factory WrapperClass.fromJson(Map<String, Object?> json) => _$WrapperClassFromJson(json);

  final Map<String, ValueClass> map;

  Map<String, Object?> toJson() => _$WrapperClassToJson(this);
}