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
94 stars 43 forks source link

not checking if `rawParameter[_schemaConst]` is null when resolving parameter type #63

Closed elenaferr0 closed 1 year ago

elenaferr0 commented 1 year ago

In the OpenApiParser class, when resolving the type of the parameter, it is not checked whether rawParameter[_schemaConst] is null

allOfObject: (rawParameter[_schemaConst] as Map<String, dynamic>)
    .containsKey(_allOfConst)

it throws an exception as follows:

Unhandled exception:
type 'Null' is not a subtype of type 'Map<String, dynamic>' in type cast
#0      OpenApiParser.parseRestClients.parametersV2 (package:swagger_parser/src/parser/parser.dart:338:43)
#1      OpenApiParser.parseRestClients.<anonymous closure>.<anonymous closure> (package:swagger_parser/src/parser/parser.dart:374:15)
#2      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
#3      OpenApiParser.parseRestClients.<anonymous closure> (package:swagger_parser/src/parser/parser.dart:362:43)
#4      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
#5      OpenApiParser.parseRestClients (package:swagger_parser/src/parser/parser.dart:361:10)
#6      Generator._parseOpenApiDefinitionFile (package:swagger_parser/src/generator/generator.dart:127:27)
#7      Generator.generateFiles (package:swagger_parser/src/generator/generator.dart:112:5)
#8      main (file:///home/elena/docs/dev/flutter/swagger_parser/swagger_parser/bin/generate.dart:11:21)