forked from loafle/openapi-generator-original
[dart][dio] Nullable parameters & defaults for header/query parameters (#10147)
* respect the nullable flag for all parameters (except path params where this is not allowed) * generate default values for header and query parameters that are not collections * we can not handle default values for collection with built_value atm. (not const) * we can not handle default values for form/body parameters atm. as those can be enums which we can not construct easily
This commit is contained in:
parent
7d35e8dd9b
commit
5fe76c2453
@ -44,10 +44,10 @@ class {{classname}} {
|
||||
{{/isDeprecated}}
|
||||
Future<Response<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}>> {{nickname}}({ {{#allParams}}{{#isPathParam}}
|
||||
required {{{dataType}}} {{paramName}},{{/isPathParam}}{{#isQueryParam}}
|
||||
{{#required}}required {{/required}}{{{dataType}}}{{^required}}?{{/required}} {{paramName}},{{/isQueryParam}}{{#isHeaderParam}}
|
||||
{{#required}}required {{/required}}{{{dataType}}}{{^required}}?{{/required}} {{paramName}},{{/isHeaderParam}}{{#isBodyParam}}
|
||||
{{#required}}required {{/required}}{{{dataType}}}{{^required}}?{{/required}} {{paramName}},{{/isBodyParam}}{{#isFormParam}}
|
||||
{{#required}}required {{/required}}{{{dataType}}}{{^required}}?{{/required}} {{paramName}},{{/isFormParam}}{{/allParams}}
|
||||
{{#required}}{{^isNullable}}required {{/isNullable}}{{/required}}{{{dataType}}}{{#required}}{{#isNullable}}?{{/isNullable}}{{/required}}{{^required}}?{{/required}} {{paramName}}{{^isContainer}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}{{/isContainer}},{{/isQueryParam}}{{#isHeaderParam}}
|
||||
{{#required}}{{^isNullable}}required {{/isNullable}}{{/required}}{{{dataType}}}{{#required}}{{#isNullable}}?{{/isNullable}}{{/required}}{{^required}}?{{/required}} {{paramName}}{{^isContainer}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}{{/isContainer}},{{/isHeaderParam}}{{#isBodyParam}}
|
||||
{{#required}}{{^isNullable}}required {{/isNullable}}{{/required}}{{{dataType}}}{{#required}}{{#isNullable}}?{{/isNullable}}{{/required}}{{^required}}?{{/required}} {{paramName}},{{/isBodyParam}}{{#isFormParam}}
|
||||
{{#required}}{{^isNullable}}required {{/isNullable}}{{/required}}{{{dataType}}}{{#required}}{{#isNullable}}?{{/isNullable}}{{/required}}{{^required}}?{{/required}} {{paramName}},{{/isFormParam}}{{/allParams}}
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
|
@ -16,7 +16,7 @@
|
||||
{{/hasFormParams}}
|
||||
{{#bodyParam}}
|
||||
{{#isPrimitiveType}}
|
||||
_bodyData = {{paramName}}{{#isFile}}.finalize(){{/isFile}};
|
||||
_bodyData = {{paramName}}{{#isFile}}{{#required}}{{#isNullable}}?{{/isNullable}}{{/required}}{{^required}}?{{/required}}.finalize(){{/isFile}};
|
||||
{{/isPrimitiveType}}
|
||||
{{^isPrimitiveType}}
|
||||
{{#isContainer}}
|
||||
|
@ -647,7 +647,7 @@ class FakeApi {
|
||||
/// Returns a [Future]
|
||||
/// Throws [DioError] if API call or serialization fails
|
||||
Future<Response<void>> testBodyWithBinary({
|
||||
required MultipartFile body,
|
||||
MultipartFile? body,
|
||||
CancelToken? cancelToken,
|
||||
Map<String, dynamic>? headers,
|
||||
Map<String, dynamic>? extra,
|
||||
@ -672,7 +672,7 @@ class FakeApi {
|
||||
dynamic _bodyData;
|
||||
|
||||
try {
|
||||
_bodyData = body.finalize();
|
||||
_bodyData = body?.finalize();
|
||||
|
||||
} catch(error, stackTrace) {
|
||||
throw DioError(
|
||||
@ -1065,9 +1065,9 @@ class FakeApi {
|
||||
/// Throws [DioError] if API call or serialization fails
|
||||
Future<Response<void>> testEnumParameters({
|
||||
BuiltList<String>? enumHeaderStringArray,
|
||||
String? enumHeaderString,
|
||||
String? enumHeaderString = '-efg',
|
||||
BuiltList<String>? enumQueryStringArray,
|
||||
String? enumQueryString,
|
||||
String? enumQueryString = '-efg',
|
||||
int? enumQueryInteger,
|
||||
double? enumQueryDouble,
|
||||
BuiltList<String>? enumFormStringArray,
|
||||
|
Loading…
x
Reference in New Issue
Block a user