diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache index da750aa02b14..3f35f8608755 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/json_serializable/deserialize.mustache @@ -5,6 +5,7 @@ import 'package:{{pubName}}/{{sourceFolder}}/{{modelPackage}}/{{classFilename}}. {{/isEnum}} {{/model}} {{/models}} +import 'package:dio/dio.dart'; final _regList = RegExp(r'^List<(.*)>$'); final _regSet = RegExp(r'^Set<(.*)>$'); @@ -12,6 +13,12 @@ final _regMap = RegExp(r'^Map$'); ReturnType deserialize(dynamic value, String targetType, {bool growable= true}) { switch (targetType) { + case 'MultipartFile': + try { + return MultipartFile.fromBytes(List.castFrom(value)) as ReturnType; + } catch (e) { + throw Exception('Cannot deserialize'); + } case 'String': return '$value' as ReturnType; case 'int': diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/deserialize.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/deserialize.dart index af74c7ee5e41..d343c2fb1019 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/deserialize.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/lib/src/deserialize.dart @@ -42,6 +42,7 @@ import 'package:openapi/src/model/special_model_name.dart'; import 'package:openapi/src/model/tag.dart'; import 'package:openapi/src/model/test_inline_freeform_additional_properties_request.dart'; import 'package:openapi/src/model/user.dart'; +import 'package:dio/dio.dart'; final _regList = RegExp(r'^List<(.*)>$'); final _regSet = RegExp(r'^Set<(.*)>$'); @@ -49,6 +50,12 @@ final _regMap = RegExp(r'^Map$'); ReturnType deserialize(dynamic value, String targetType, {bool growable= true}) { switch (targetType) { + case 'MultipartFile': + try { + return MultipartFile.fromBytes(List.castFrom(value)) as ReturnType; + } catch (e) { + throw Exception('Cannot deserialize'); + } case 'String': return '$value' as ReturnType; case 'int':