@@ -25,23 +25,38 @@ class {{classname}} {
25
25
26
26
String path = " {{{path}}}" {{#pathParams} }.replaceAll("{ " + " {{baseName} }" + "}", { {{paramName} }}.toString()){ {/pathParams} };
27
27
28
- // query params
29
- Map<String , dynamic > queryParams = { } ;
30
- Map<String , String > headerParams = Map.from(headers ?? { } );
31
- Map<String , String > formParams = { } ;
28
+ Map<String , dynamic > queryParams = { } ;
29
+ Map<String , String > headerParams = Map.from(headers ?? { } );
30
+ dynamic bodyData;
32
31
33
32
{ {#headerParams} }
34
33
headerParams["{ {baseName} }"] = { {paramName} };
35
34
{ {/headerParams} }
36
35
{ {#queryParams} }
37
36
queryParams["{ {baseName} }"] = { {paramName} };
38
37
{ {/queryParams} }
39
- queryParams.removeWhere((key, value) => value == null);
40
- headerParams.removeWhere((key, value) => value == null);
41
- formParams.removeWhere((key, value) => value == null);
38
+ queryParams.removeWhere((key, value) => value == null);
39
+ headerParams.removeWhere((key, value) => value == null);
42
40
43
- List<String > contentTypes = [{ {#consumes} }
44
- "{ {{mediaType} }}"{ {#hasMore} },{ {/hasMore} }{ {/consumes} }];
41
+ List<String > contentTypes = [{ {#consumes} }"{ {{mediaType} }}"{ {#hasMore} },{ {/hasMore} }{ {/consumes} }];
42
+
43
+
44
+ { {#formParams} }
45
+ Map<String , dynamic > formData = { } ;
46
+ { {#isMultipart} }
47
+ { {^isFile} }
48
+ if ({ {paramName} } != null) {
49
+ formData[' {{baseName}}' ] = parameterToString({{paramName} });
50
+ }
51
+ { {/isFile} }
52
+ { {#isFile} }
53
+ if ({ {paramName} } != null) {
54
+ formData[' {{baseName}}' ] = MultipartFile.fromBytes({{paramName} }, filename: "{ {baseName} }");
55
+ }
56
+ { {/isFile} }
57
+ { {/isMultipart} }
58
+ bodyData = FormData.fromMap(formData);
59
+ { {/formParams} }
45
60
46
61
{ {#bodyParam} }
47
62
{ {#isListContainer} }
@@ -52,14 +67,13 @@ class {{classname}} {
52
67
var serializedBody = _serializers.serialize({ {paramName} });
53
68
{ {/isListContainer} }
54
69
var json{ {paramName} } = json.encode(serializedBody);
70
+ bodyData = json{ {paramName} };
55
71
{ {/bodyParam} }
56
72
57
73
return _dio.request(
58
74
path,
59
75
queryParameters: queryParams,
60
- { {#bodyParam} }
61
- data: json{ {paramName} },
62
- { {/bodyParam} }
76
+ data: bodyData,
63
77
options: Options(
64
78
method: '{ {httpMethod} }'.toUpperCase(),
65
79
headers: headerParams,
0 commit comments