diff --git a/modules/openapi-generator/src/main/resources/dart-dio/api.mustache b/modules/openapi-generator/src/main/resources/dart-dio/api.mustache index b190d6639570..d09a7674082f 100644 --- a/modules/openapi-generator/src/main/resources/dart-dio/api.mustache +++ b/modules/openapi-generator/src/main/resources/dart-dio/api.mustache @@ -51,14 +51,14 @@ class {{classname}} { {{^isListContainer}} var serializedBody = _serializers.serialize({{paramName}}); {{/isListContainer}} - var data = json.encode(serializedBody); + var json{{paramName}} = json.encode(serializedBody); {{/bodyParam}} return _dio.request( path, queryParameters: queryParams, {{#bodyParam}} - data: data, + data: json{{paramName}}, {{/bodyParam}} options: Options( method: '{{httpMethod}}'.toUpperCase(), diff --git a/samples/client/petstore/dart-dio/lib/api.dart b/samples/client/petstore/dart-dio/lib/api.dart index b2575064fbf3..8fc03c1fec90 100644 --- a/samples/client/petstore/dart-dio/lib/api.dart +++ b/samples/client/petstore/dart-dio/lib/api.dart @@ -8,45 +8,52 @@ import 'package:openapi/api/pet_api.dart'; import 'package:openapi/api/store_api.dart'; import 'package:openapi/api/user_api.dart'; + class Openapi { - Dio dio; - Serializers serializers; - String basePath = "http://petstore.swagger.io/v2"; - Openapi({this.dio, Serializers serializers}) { + Dio dio; + Serializers serializers; + String basePath = "http://petstore.swagger.io/v2"; + + Openapi({this.dio, Serializers serializers}) { if (dio == null) { - BaseOptions options = new BaseOptions( - baseUrl: basePath, - connectTimeout: 5000, - receiveTimeout: 3000, - ); - this.dio = new Dio(options); + BaseOptions options = new BaseOptions( + baseUrl: basePath, + connectTimeout: 5000, + receiveTimeout: 3000, + ); + this.dio = new Dio(options); } this.serializers = serializers ?? standardSerializers; - } +} - /** + + /** * Get PetApi instance, base route and serializer can be overridden by a given but be careful, * by doing that all interceptors will not be executed */ - PetApi getPetApi() { + PetApi getPetApi() { return PetApi(dio, serializers); - } + } + - /** + /** * Get StoreApi instance, base route and serializer can be overridden by a given but be careful, * by doing that all interceptors will not be executed */ - StoreApi getStoreApi() { + StoreApi getStoreApi() { return StoreApi(dio, serializers); - } + } + - /** + /** * Get UserApi instance, base route and serializer can be overridden by a given but be careful, * by doing that all interceptors will not be executed */ - UserApi getUserApi() { + UserApi getUserApi() { return UserApi(dio, serializers); - } -} + } + + +} \ No newline at end of file diff --git a/samples/client/petstore/dart-dio/lib/api/pet_api.dart b/samples/client/petstore/dart-dio/lib/api/pet_api.dart index 5e5659a76399..4b182c95f3ea 100644 --- a/samples/client/petstore/dart-dio/lib/api/pet_api.dart +++ b/samples/client/petstore/dart-dio/lib/api/pet_api.dart @@ -10,367 +10,322 @@ import 'package:openapi/model/api_response.dart'; import 'dart:typed_data'; class PetApi { - final Dio _dio; - Serializers _serializers; - - PetApi(this._dio, this._serializers); - - /// Add a new pet to the store - /// - /// - Future addPet( - Pet body, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/pet"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = ["application/json", "application/xml"]; - - var serializedBody = _serializers.serialize(body); - var data = json.encode(serializedBody); - - return _dio.request( - path, - queryParameters: queryParams, - data: data, - options: Options( - method: 'post'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Deletes a pet - /// - /// - Future deletePet( - int petId, { - String apiKey, - CancelToken cancelToken, - Map headers, - }) async { - String path = - "/pet/{petId}".replaceAll("{" + "petId" + "}", petId.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - headerParams["api_key"] = apiKey; - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio.request( - path, - queryParameters: queryParams, - options: Options( - method: 'delete'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Finds Pets by status - /// - /// Multiple status values can be provided with comma separated strings - Future>> findPetsByStatus( - List status, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/pet/findByStatus"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams["status"] = status; - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio - .request( - path, - queryParameters: queryParams, - options: Options( - method: 'get'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ) - .then((response) { - final FullType type = - const FullType(BuiltList, const [const FullType(Pet)]); - BuiltList dataList = - _serializers.deserialize(response.data, specifiedType: type); - var data = dataList.toList(); - - return Response>( - data: data, - headers: response.headers, - request: response.request, - redirects: response.redirects, - statusCode: response.statusCode, - statusMessage: response.statusMessage, - extra: response.extra, - ); - }); - } - - /// Finds Pets by tags - /// - /// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - Future>> findPetsByTags( - List tags, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/pet/findByTags"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams["tags"] = tags; - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio - .request( - path, - queryParameters: queryParams, - options: Options( - method: 'get'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ) - .then((response) { - final FullType type = - const FullType(BuiltList, const [const FullType(Pet)]); - BuiltList dataList = - _serializers.deserialize(response.data, specifiedType: type); - var data = dataList.toList(); - - return Response>( - data: data, - headers: response.headers, - request: response.request, - redirects: response.redirects, - statusCode: response.statusCode, - statusMessage: response.statusMessage, - extra: response.extra, - ); - }); - } - - /// Find pet by ID - /// - /// Returns a single pet - Future> getPetById( - int petId, { - CancelToken cancelToken, - Map headers, - }) async { - String path = - "/pet/{petId}".replaceAll("{" + "petId" + "}", petId.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio - .request( - path, - queryParameters: queryParams, - options: Options( - method: 'get'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ) - .then((response) { - var serializer = _serializers.serializerForType(Pet); - var data = _serializers.deserializeWith(serializer, response.data); - - return Response( - data: data, - headers: response.headers, - request: response.request, - redirects: response.redirects, - statusCode: response.statusCode, - statusMessage: response.statusMessage, - extra: response.extra, - ); - }); - } - - /// Update an existing pet - /// - /// - Future updatePet( - Pet body, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/pet"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = ["application/json", "application/xml"]; - - var serializedBody = _serializers.serialize(body); - var data = json.encode(serializedBody); - - return _dio.request( - path, - queryParameters: queryParams, - data: data, - options: Options( - method: 'put'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Updates a pet in the store with form data - /// - /// - Future updatePetWithForm( - int petId, { - String name, - String status, - CancelToken cancelToken, - Map headers, - }) async { - String path = - "/pet/{petId}".replaceAll("{" + "petId" + "}", petId.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = ["application/x-www-form-urlencoded"]; - - return _dio.request( - path, - queryParameters: queryParams, - options: Options( - method: 'post'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// uploads an image - /// - /// - Future> uploadFile( - int petId, { - String additionalMetadata, - Uint8List file, - CancelToken cancelToken, - Map headers, - }) async { - String path = "/pet/{petId}/uploadImage" - .replaceAll("{" + "petId" + "}", petId.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = ["multipart/form-data"]; - - return _dio - .request( - path, - queryParameters: queryParams, - options: Options( - method: 'post'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ) - .then((response) { - var serializer = _serializers.serializerForType(ApiResponse); - var data = - _serializers.deserializeWith(serializer, response.data); - - return Response( - data: data, - headers: response.headers, - request: response.request, - redirects: response.redirects, - statusCode: response.statusCode, - statusMessage: response.statusMessage, - extra: response.extra, - ); - }); - } -} + final Dio _dio; + Serializers _serializers; + + PetApi(this._dio, this._serializers); + + /// Add a new pet to the store + /// + /// + FutureaddPet(Pet body,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/pet"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = [ + "application/json", + "application/xml"]; + + var serializedBody = _serializers.serialize(body); + var jsonbody = json.encode(serializedBody); + + return _dio.request( + path, + queryParameters: queryParams, + data: jsonbody, + options: Options( + method: 'post'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Deletes a pet + /// + /// + FuturedeletePet(int petId,{ String apiKey,CancelToken cancelToken, Map headers,}) async { + + String path = "/pet/{petId}".replaceAll("{" + "petId" + "}", petId.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + headerParams["api_key"] = apiKey; + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'delete'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Finds Pets by status + /// + /// Multiple status values can be provided with comma separated strings + Future>>findPetsByStatus(List status,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/pet/findByStatus"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams["status"] = status; + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'get'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ).then((response) { + + final FullType type = const FullType(BuiltList, const [const FullType(Pet)]); + BuiltList dataList = _serializers.deserialize(response.data, specifiedType: type); + var data = dataList.toList(); + + return Response>( + data: data, + headers: response.headers, + request: response.request, + redirects: response.redirects, + statusCode: response.statusCode, + statusMessage: response.statusMessage, + extra: response.extra, + ); + }); + } + /// Finds Pets by tags + /// + /// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. + Future>>findPetsByTags(List tags,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/pet/findByTags"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams["tags"] = tags; + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'get'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ).then((response) { + + final FullType type = const FullType(BuiltList, const [const FullType(Pet)]); + BuiltList dataList = _serializers.deserialize(response.data, specifiedType: type); + var data = dataList.toList(); + + return Response>( + data: data, + headers: response.headers, + request: response.request, + redirects: response.redirects, + statusCode: response.statusCode, + statusMessage: response.statusMessage, + extra: response.extra, + ); + }); + } + /// Find pet by ID + /// + /// Returns a single pet + Future>getPetById(int petId,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/pet/{petId}".replaceAll("{" + "petId" + "}", petId.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'get'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ).then((response) { + + var serializer = _serializers.serializerForType(Pet); + var data = _serializers.deserializeWith(serializer, response.data); + + return Response( + data: data, + headers: response.headers, + request: response.request, + redirects: response.redirects, + statusCode: response.statusCode, + statusMessage: response.statusMessage, + extra: response.extra, + ); + }); + } + /// Update an existing pet + /// + /// + FutureupdatePet(Pet body,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/pet"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = [ + "application/json", + "application/xml"]; + + var serializedBody = _serializers.serialize(body); + var jsonbody = json.encode(serializedBody); + + return _dio.request( + path, + queryParameters: queryParams, + data: jsonbody, + options: Options( + method: 'put'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Updates a pet in the store with form data + /// + /// + FutureupdatePetWithForm(int petId,{ String name,String status,CancelToken cancelToken, Map headers,}) async { + + String path = "/pet/{petId}".replaceAll("{" + "petId" + "}", petId.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = [ + "application/x-www-form-urlencoded"]; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'post'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// uploads an image + /// + /// + Future>uploadFile(int petId,{ String additionalMetadata,Uint8List file,CancelToken cancelToken, Map headers,}) async { + + String path = "/pet/{petId}/uploadImage".replaceAll("{" + "petId" + "}", petId.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = [ + "multipart/form-data"]; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'post'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ).then((response) { + + var serializer = _serializers.serializerForType(ApiResponse); + var data = _serializers.deserializeWith(serializer, response.data); + + return Response( + data: data, + headers: response.headers, + request: response.request, + redirects: response.redirects, + statusCode: response.statusCode, + statusMessage: response.statusMessage, + extra: response.extra, + ); + }); + } + } diff --git a/samples/client/petstore/dart-dio/lib/api/store_api.dart b/samples/client/petstore/dart-dio/lib/api/store_api.dart index 9bfe53108d54..315aaa5a1c10 100644 --- a/samples/client/petstore/dart-dio/lib/api/store_api.dart +++ b/samples/client/petstore/dart-dio/lib/api/store_api.dart @@ -150,12 +150,12 @@ class StoreApi { List contentTypes = []; var serializedBody = _serializers.serialize(body); - var data = json.encode(serializedBody); + var jsonbody = json.encode(serializedBody); return _dio.request( path, queryParameters: queryParams, - data: data, + data: jsonbody, options: Options( method: 'post'.toUpperCase(), headers: headerParams, diff --git a/samples/client/petstore/dart-dio/lib/api/user_api.dart b/samples/client/petstore/dart-dio/lib/api/user_api.dart index 62a77bbdce98..521be8729347 100644 --- a/samples/client/petstore/dart-dio/lib/api/user_api.dart +++ b/samples/client/petstore/dart-dio/lib/api/user_api.dart @@ -8,337 +8,293 @@ import 'package:built_value/serializer.dart'; import 'package:openapi/model/user.dart'; class UserApi { - final Dio _dio; - Serializers _serializers; - - UserApi(this._dio, this._serializers); - - /// Create user - /// - /// This can only be done by the logged in user. - Future createUser( - User body, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - var serializedBody = _serializers.serialize(body); - var data = json.encode(serializedBody); - - return _dio.request( - path, - queryParameters: queryParams, - data: data, - options: Options( - method: 'post'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Creates list of users with given input array - /// - /// - Future createUsersWithArrayInput( - List body, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/createWithArray"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - final type = const FullType(BuiltList, const [const FullType(User)]); - var serializedBody = - _serializers.serialize(BuiltList.from(body), specifiedType: type); - var data = json.encode(serializedBody); - - return _dio.request( - path, - queryParameters: queryParams, - data: data, - options: Options( - method: 'post'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Creates list of users with given input array - /// - /// - Future createUsersWithListInput( - List body, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/createWithList"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - final type = const FullType(BuiltList, const [const FullType(User)]); - var serializedBody = - _serializers.serialize(BuiltList.from(body), specifiedType: type); - var data = json.encode(serializedBody); - - return _dio.request( - path, - queryParameters: queryParams, - data: data, - options: Options( - method: 'post'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Delete user - /// - /// This can only be done by the logged in user. - Future deleteUser( - String username, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/{username}" - .replaceAll("{" + "username" + "}", username.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio.request( - path, - queryParameters: queryParams, - options: Options( - method: 'delete'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Get user by user name - /// - /// - Future> getUserByName( - String username, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/{username}" - .replaceAll("{" + "username" + "}", username.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio - .request( - path, - queryParameters: queryParams, - options: Options( - method: 'get'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ) - .then((response) { - var serializer = _serializers.serializerForType(User); - var data = _serializers.deserializeWith(serializer, response.data); - - return Response( - data: data, - headers: response.headers, - request: response.request, - redirects: response.redirects, - statusCode: response.statusCode, - statusMessage: response.statusMessage, - extra: response.extra, - ); - }); - } - - /// Logs user into the system - /// - /// - Future> loginUser( - String username, - String password, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/login"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams["username"] = username; - queryParams["password"] = password; - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio - .request( - path, - queryParameters: queryParams, - options: Options( - method: 'get'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ) - .then((response) { - var serializer = _serializers.serializerForType(String); - var data = - _serializers.deserializeWith(serializer, response.data); - - return Response( - data: data, - headers: response.headers, - request: response.request, - redirects: response.redirects, - statusCode: response.statusCode, - statusMessage: response.statusMessage, - extra: response.extra, - ); - }); - } - - /// Logs out current logged in user session - /// - /// - Future logoutUser({ - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/logout"; - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - return _dio.request( - path, - queryParameters: queryParams, - options: Options( - method: 'get'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } - - /// Updated user - /// - /// This can only be done by the logged in user. - Future updateUser( - String username, - User body, { - CancelToken cancelToken, - Map headers, - }) async { - String path = "/user/{username}" - .replaceAll("{" + "username" + "}", username.toString()); - - // query params - Map queryParams = {}; - Map headerParams = Map.from(headers ?? {}); - Map formParams = {}; - - queryParams.removeWhere((key, value) => value == null); - headerParams.removeWhere((key, value) => value == null); - formParams.removeWhere((key, value) => value == null); - - List contentTypes = []; - - var serializedBody = _serializers.serialize(body); - var data = json.encode(serializedBody); - - return _dio.request( - path, - queryParameters: queryParams, - data: data, - options: Options( - method: 'put'.toUpperCase(), - headers: headerParams, - contentType: - contentTypes.isNotEmpty ? contentTypes[0] : "application/json", - ), - cancelToken: cancelToken, - ); - } -} + final Dio _dio; + Serializers _serializers; + + UserApi(this._dio, this._serializers); + + /// Create user + /// + /// This can only be done by the logged in user. + FuturecreateUser(User body,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + var serializedBody = _serializers.serialize(body); + var jsonbody = json.encode(serializedBody); + + return _dio.request( + path, + queryParameters: queryParams, + data: jsonbody, + options: Options( + method: 'post'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Creates list of users with given input array + /// + /// + FuturecreateUsersWithArrayInput(List body,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/createWithArray"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + final type = const FullType(BuiltList, const [const FullType(User)]); + var serializedBody = _serializers.serialize(BuiltList.from(body), specifiedType: type); + var jsonbody = json.encode(serializedBody); + + return _dio.request( + path, + queryParameters: queryParams, + data: jsonbody, + options: Options( + method: 'post'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Creates list of users with given input array + /// + /// + FuturecreateUsersWithListInput(List body,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/createWithList"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + final type = const FullType(BuiltList, const [const FullType(User)]); + var serializedBody = _serializers.serialize(BuiltList.from(body), specifiedType: type); + var jsonbody = json.encode(serializedBody); + + return _dio.request( + path, + queryParameters: queryParams, + data: jsonbody, + options: Options( + method: 'post'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Delete user + /// + /// This can only be done by the logged in user. + FuturedeleteUser(String username,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/{username}".replaceAll("{" + "username" + "}", username.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'delete'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Get user by user name + /// + /// + Future>getUserByName(String username,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/{username}".replaceAll("{" + "username" + "}", username.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'get'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ).then((response) { + + var serializer = _serializers.serializerForType(User); + var data = _serializers.deserializeWith(serializer, response.data); + + return Response( + data: data, + headers: response.headers, + request: response.request, + redirects: response.redirects, + statusCode: response.statusCode, + statusMessage: response.statusMessage, + extra: response.extra, + ); + }); + } + /// Logs user into the system + /// + /// + Future>loginUser(String username,String password,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/login"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams["username"] = username; + queryParams["password"] = password; + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'get'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ).then((response) { + + var serializer = _serializers.serializerForType(String); + var data = _serializers.deserializeWith(serializer, response.data); + + return Response( + data: data, + headers: response.headers, + request: response.request, + redirects: response.redirects, + statusCode: response.statusCode, + statusMessage: response.statusMessage, + extra: response.extra, + ); + }); + } + /// Logs out current logged in user session + /// + /// + FuturelogoutUser({ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/logout"; + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + + return _dio.request( + path, + queryParameters: queryParams, + options: Options( + method: 'get'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + /// Updated user + /// + /// This can only be done by the logged in user. + FutureupdateUser(String username,User body,{ CancelToken cancelToken, Map headers,}) async { + + String path = "/user/{username}".replaceAll("{" + "username" + "}", username.toString()); + + // query params + Map queryParams = {}; + Map headerParams = Map.from(headers ?? {}); + Map formParams = {}; + + queryParams.removeWhere((key, value) => value == null); + headerParams.removeWhere((key, value) => value == null); + formParams.removeWhere((key, value) => value == null); + + List contentTypes = []; + + var serializedBody = _serializers.serialize(body); + var jsonbody = json.encode(serializedBody); + + return _dio.request( + path, + queryParameters: queryParams, + data: jsonbody, + options: Options( + method: 'put'.toUpperCase(), + headers: headerParams, + contentType: contentTypes.isNotEmpty ? contentTypes[0] : "application/json", + ), + cancelToken: cancelToken, + ); + } + } diff --git a/samples/client/petstore/dart-dio/lib/model/api_response.dart b/samples/client/petstore/dart-dio/lib/model/api_response.dart index 0feebafb0051..955b4fa0432c 100644 --- a/samples/client/petstore/dart-dio/lib/model/api_response.dart +++ b/samples/client/petstore/dart-dio/lib/model/api_response.dart @@ -1,24 +1,34 @@ -import 'package:built_value/built_value.dart'; + import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; part 'api_response.g.dart'; abstract class ApiResponse implements Built { - @nullable - @BuiltValueField(wireName: 'code') - int get code; - @nullable - @BuiltValueField(wireName: 'type') - String get type; + + @nullable - @nullable - @BuiltValueField(wireName: 'message') - String get message; + + @BuiltValueField(wireName: 'code') + int get code; + + @nullable - // Boilerplate code needed to wire-up generated code - ApiResponse._(); + + @BuiltValueField(wireName: 'type') + String get type; + + @nullable + + + @BuiltValueField(wireName: 'message') + String get message; + + // Boilerplate code needed to wire-up generated code + ApiResponse._(); + + factory ApiResponse([updates(ApiResponseBuilder b)]) = _$ApiResponse; + static Serializer get serializer => _$apiResponseSerializer; - factory ApiResponse([updates(ApiResponseBuilder b)]) = _$ApiResponse; - static Serializer get serializer => _$apiResponseSerializer; } + diff --git a/samples/client/petstore/dart-dio/lib/model/category.dart b/samples/client/petstore/dart-dio/lib/model/category.dart index 5d80fb503667..0a908a259768 100644 --- a/samples/client/petstore/dart-dio/lib/model/category.dart +++ b/samples/client/petstore/dart-dio/lib/model/category.dart @@ -1,20 +1,28 @@ -import 'package:built_value/built_value.dart'; + import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; part 'category.g.dart'; abstract class Category implements Built { - @nullable - @BuiltValueField(wireName: 'id') - int get id; - @nullable - @BuiltValueField(wireName: 'name') - String get name; + + @nullable - // Boilerplate code needed to wire-up generated code - Category._(); + + @BuiltValueField(wireName: 'id') + int get id; + + @nullable + + + @BuiltValueField(wireName: 'name') + String get name; + + // Boilerplate code needed to wire-up generated code + Category._(); + + factory Category([updates(CategoryBuilder b)]) = _$Category; + static Serializer get serializer => _$categorySerializer; - factory Category([updates(CategoryBuilder b)]) = _$Category; - static Serializer get serializer => _$categorySerializer; } + diff --git a/samples/client/petstore/dart-dio/lib/model/order.dart b/samples/client/petstore/dart-dio/lib/model/order.dart index a5bcec14b398..72ce0c862486 100644 --- a/samples/client/petstore/dart-dio/lib/model/order.dart +++ b/samples/client/petstore/dart-dio/lib/model/order.dart @@ -1,39 +1,53 @@ -import 'package:built_value/built_value.dart'; + import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; part 'order.g.dart'; abstract class Order implements Built { - @nullable - @BuiltValueField(wireName: 'id') - int get id; - - @nullable - @BuiltValueField(wireName: 'petId') - int get petId; - - @nullable - @BuiltValueField(wireName: 'quantity') - int get quantity; - - @nullable - @BuiltValueField(wireName: 'shipDate') - DateTime get shipDate; - /* Order Status */ - @nullable - - /* Order Status */ - @BuiltValueField(wireName: 'status') - String get status; - //enum statusEnum { placed, approved, delivered, };{ - - @nullable - @BuiltValueField(wireName: 'complete') - bool get complete; - - // Boilerplate code needed to wire-up generated code - Order._(); - - factory Order([updates(OrderBuilder b)]) = _$Order; - static Serializer get serializer => _$orderSerializer; + + + @nullable + + + @BuiltValueField(wireName: 'id') + int get id; + + @nullable + + + @BuiltValueField(wireName: 'petId') + int get petId; + + @nullable + + + @BuiltValueField(wireName: 'quantity') + int get quantity; + + @nullable + + + @BuiltValueField(wireName: 'shipDate') + DateTime get shipDate; + /* Order Status */ + @nullable + + /* Order Status */ + @BuiltValueField(wireName: 'status') + String get status; + //enum statusEnum { placed, approved, delivered, }; + + @nullable + + + @BuiltValueField(wireName: 'complete') + bool get complete; + + // Boilerplate code needed to wire-up generated code + Order._(); + + factory Order([updates(OrderBuilder b)]) = _$Order; + static Serializer get serializer => _$orderSerializer; + } + diff --git a/samples/client/petstore/dart-dio/lib/model/pet.dart b/samples/client/petstore/dart-dio/lib/model/pet.dart index c3554e423955..8d86fb0ec20c 100644 --- a/samples/client/petstore/dart-dio/lib/model/pet.dart +++ b/samples/client/petstore/dart-dio/lib/model/pet.dart @@ -1,42 +1,56 @@ -import 'package:openapi/model/tag.dart'; -import 'package:openapi/model/category.dart'; -import 'package:built_collection/built_collection.dart'; -import 'package:built_value/built_value.dart'; + import 'package:openapi/model/tag.dart'; + import 'package:openapi/model/category.dart'; + import 'package:built_collection/built_collection.dart'; + import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; part 'pet.g.dart'; abstract class Pet implements Built { - @nullable - @BuiltValueField(wireName: 'id') - int get id; - - @nullable - @BuiltValueField(wireName: 'category') - Category get category; - - @nullable - @BuiltValueField(wireName: 'name') - String get name; - - @nullable - @BuiltValueField(wireName: 'photoUrls') - BuiltList get photoUrls; - - @nullable - @BuiltValueField(wireName: 'tags') - BuiltList get tags; - /* pet status in the store */ - @nullable - - /* pet status in the store */ - @BuiltValueField(wireName: 'status') - String get status; - //enum statusEnum { available, pending, sold, };{ - - // Boilerplate code needed to wire-up generated code - Pet._(); - - factory Pet([updates(PetBuilder b)]) = _$Pet; - static Serializer get serializer => _$petSerializer; + + + @nullable + + + @BuiltValueField(wireName: 'id') + int get id; + + @nullable + + + @BuiltValueField(wireName: 'category') + Category get category; + + @nullable + + + @BuiltValueField(wireName: 'name') + String get name; + + @nullable + + + @BuiltValueField(wireName: 'photoUrls') + BuiltList get photoUrls; + + @nullable + + + @BuiltValueField(wireName: 'tags') + BuiltList get tags; + /* pet status in the store */ + @nullable + + /* pet status in the store */ + @BuiltValueField(wireName: 'status') + String get status; + //enum statusEnum { available, pending, sold, }; + + // Boilerplate code needed to wire-up generated code + Pet._(); + + factory Pet([updates(PetBuilder b)]) = _$Pet; + static Serializer get serializer => _$petSerializer; + } + diff --git a/samples/client/petstore/dart-dio/lib/model/tag.dart b/samples/client/petstore/dart-dio/lib/model/tag.dart index 9d304767721b..88c06c47b9b4 100644 --- a/samples/client/petstore/dart-dio/lib/model/tag.dart +++ b/samples/client/petstore/dart-dio/lib/model/tag.dart @@ -1,20 +1,28 @@ -import 'package:built_value/built_value.dart'; + import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; part 'tag.g.dart'; abstract class Tag implements Built { - @nullable - @BuiltValueField(wireName: 'id') - int get id; - @nullable - @BuiltValueField(wireName: 'name') - String get name; + + @nullable - // Boilerplate code needed to wire-up generated code - Tag._(); + + @BuiltValueField(wireName: 'id') + int get id; + + @nullable + + + @BuiltValueField(wireName: 'name') + String get name; + + // Boilerplate code needed to wire-up generated code + Tag._(); + + factory Tag([updates(TagBuilder b)]) = _$Tag; + static Serializer get serializer => _$tagSerializer; - factory Tag([updates(TagBuilder b)]) = _$Tag; - static Serializer get serializer => _$tagSerializer; } + diff --git a/samples/client/petstore/dart-dio/lib/model/user.dart b/samples/client/petstore/dart-dio/lib/model/user.dart index da351b55d898..953691a7ff90 100644 --- a/samples/client/petstore/dart-dio/lib/model/user.dart +++ b/samples/client/petstore/dart-dio/lib/model/user.dart @@ -1,46 +1,64 @@ -import 'package:built_value/built_value.dart'; + import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; part 'user.g.dart'; abstract class User implements Built { - @nullable - @BuiltValueField(wireName: 'id') - int get id; - @nullable - @BuiltValueField(wireName: 'username') - String get username; + + @nullable - @nullable - @BuiltValueField(wireName: 'firstName') - String get firstName; + + @BuiltValueField(wireName: 'id') + int get id; + + @nullable - @nullable - @BuiltValueField(wireName: 'lastName') - String get lastName; + + @BuiltValueField(wireName: 'username') + String get username; + + @nullable - @nullable - @BuiltValueField(wireName: 'email') - String get email; + + @BuiltValueField(wireName: 'firstName') + String get firstName; + + @nullable - @nullable - @BuiltValueField(wireName: 'password') - String get password; + + @BuiltValueField(wireName: 'lastName') + String get lastName; + + @nullable - @nullable - @BuiltValueField(wireName: 'phone') - String get phone; - /* User Status */ - @nullable + + @BuiltValueField(wireName: 'email') + String get email; + + @nullable - /* User Status */ - @BuiltValueField(wireName: 'userStatus') - int get userStatus; + + @BuiltValueField(wireName: 'password') + String get password; + + @nullable - // Boilerplate code needed to wire-up generated code - User._(); + + @BuiltValueField(wireName: 'phone') + String get phone; + /* User Status */ + @nullable + + /* User Status */ + @BuiltValueField(wireName: 'userStatus') + int get userStatus; + + // Boilerplate code needed to wire-up generated code + User._(); + + factory User([updates(UserBuilder b)]) = _$User; + static Serializer get serializer => _$userSerializer; - factory User([updates(UserBuilder b)]) = _$User; - static Serializer get serializer => _$userSerializer; } + diff --git a/samples/client/petstore/dart-dio/lib/serializers.dart b/samples/client/petstore/dart-dio/lib/serializers.dart index 88a06193f3ca..9727613f0738 100644 --- a/samples/client/petstore/dart-dio/lib/serializers.dart +++ b/samples/client/petstore/dart-dio/lib/serializers.dart @@ -11,38 +11,41 @@ import 'package:openapi/model/pet.dart'; import 'package:openapi/model/tag.dart'; import 'package:openapi/model/user.dart'; + part 'serializers.g.dart'; @SerializersFor(const [ - ApiResponse, - Category, - Order, - Pet, - Tag, - User, +ApiResponse, +Category, +Order, +Pet, +Tag, +User, + ]) //allow all models to be serialized within a list Serializers serializers = (_$serializers.toBuilder() - ..addBuilderFactory( - const FullType(BuiltList, const [const FullType(ApiResponse)]), - () => new ListBuilder()) - ..addBuilderFactory( - const FullType(BuiltList, const [const FullType(Category)]), - () => new ListBuilder()) - ..addBuilderFactory( - const FullType(BuiltList, const [const FullType(Order)]), - () => new ListBuilder()) - ..addBuilderFactory( - const FullType(BuiltList, const [const FullType(Pet)]), - () => new ListBuilder()) - ..addBuilderFactory( - const FullType(BuiltList, const [const FullType(Tag)]), - () => new ListBuilder()) - ..addBuilderFactory( - const FullType(BuiltList, const [const FullType(User)]), - () => new ListBuilder())) - .build(); +..addBuilderFactory( +const FullType(BuiltList, const [const FullType(ApiResponse)]), +() => new ListBuilder()) +..addBuilderFactory( +const FullType(BuiltList, const [const FullType(Category)]), +() => new ListBuilder()) +..addBuilderFactory( +const FullType(BuiltList, const [const FullType(Order)]), +() => new ListBuilder()) +..addBuilderFactory( +const FullType(BuiltList, const [const FullType(Pet)]), +() => new ListBuilder()) +..addBuilderFactory( +const FullType(BuiltList, const [const FullType(Tag)]), +() => new ListBuilder()) +..addBuilderFactory( +const FullType(BuiltList, const [const FullType(User)]), +() => new ListBuilder()) + +).build(); Serializers standardSerializers = - (serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); +(serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); \ No newline at end of file