diff --git a/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/api-source.mustache b/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/api-source.mustache index b06e1c64997..9ea242f002a 100644 --- a/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/api-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/api-source.mustache @@ -224,6 +224,10 @@ pplx::task<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/r localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); {{/bodyParam}} } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("{{classname}}->{{operationId}} does not consume any supported media type")); diff --git a/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-header.mustache b/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-header.mustache index a887e56fc1b..e9e60bd6983 100644 --- a/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-header.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-header.mustache @@ -126,7 +126,7 @@ public: static bool fromHttpContent( std::shared_ptr val, utility::datetime & ); static bool fromHttpContent( std::shared_ptr val, web::json::value & ); static bool fromHttpContent( std::shared_ptr val, std::shared_ptr& ); - template + template static bool fromHttpContent( std::shared_ptr val, std::shared_ptr& ); template static bool fromHttpContent( std::shared_ptr val, std::vector & ); diff --git a/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-source.mustache b/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-source.mustache index 39e7337a3f8..cfe9c44fecc 100644 --- a/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-source.mustache @@ -136,7 +136,12 @@ bool ModelBase::fromString( const utility::string_t& val, float &outVal ) } catch (...) { - success = false; + int64_t intVal = 0; + success = ModelBase::fromString(val, intVal); + if(success) + { + outVal = static_cast(intVal); + } } return success; } @@ -150,7 +155,12 @@ bool ModelBase::fromString( const utility::string_t& val, double &outVal ) } catch (...) { - success = false; + int64_t intVal = 0; + success = ModelBase::fromString(val, intVal); + if(success) + { + outVal = static_cast(intVal); + } } return success; } @@ -281,7 +291,7 @@ bool ModelBase::fromJson( const web::json::value& val, std::shared_ptr(new HttpContent()); - } + } if(val.has_field(utility::conversions::to_string_t("ContentDisposition"))) { utility::string_t value; diff --git a/samples/client/petstore/cpp-restsdk/client/ModelBase.cpp b/samples/client/petstore/cpp-restsdk/client/ModelBase.cpp index e6ebe555526..ff201c206b1 100644 --- a/samples/client/petstore/cpp-restsdk/client/ModelBase.cpp +++ b/samples/client/petstore/cpp-restsdk/client/ModelBase.cpp @@ -147,7 +147,12 @@ bool ModelBase::fromString( const utility::string_t& val, float &outVal ) } catch (...) { - success = false; + int64_t intVal = 0; + success = ModelBase::fromString(val, intVal); + if(success) + { + outVal = static_cast(intVal); + } } return success; } @@ -161,7 +166,12 @@ bool ModelBase::fromString( const utility::string_t& val, double &outVal ) } catch (...) { - success = false; + int64_t intVal = 0; + success = ModelBase::fromString(val, intVal); + if(success) + { + outVal = static_cast(intVal); + } } return success; } @@ -292,7 +302,7 @@ bool ModelBase::fromJson( const web::json::value& val, std::shared_ptr(new HttpContent()); - } + } if(val.has_field(utility::conversions::to_string_t("ContentDisposition"))) { utility::string_t value; diff --git a/samples/client/petstore/cpp-restsdk/client/ModelBase.h b/samples/client/petstore/cpp-restsdk/client/ModelBase.h index 6304adf32e9..979ca8c09c2 100644 --- a/samples/client/petstore/cpp-restsdk/client/ModelBase.h +++ b/samples/client/petstore/cpp-restsdk/client/ModelBase.h @@ -137,7 +137,7 @@ public: static bool fromHttpContent( std::shared_ptr val, utility::datetime & ); static bool fromHttpContent( std::shared_ptr val, web::json::value & ); static bool fromHttpContent( std::shared_ptr val, std::shared_ptr& ); - template + template static bool fromHttpContent( std::shared_ptr val, std::shared_ptr& ); template static bool fromHttpContent( std::shared_ptr val, std::vector & ); diff --git a/samples/client/petstore/cpp-restsdk/client/api/PetApi.cpp b/samples/client/petstore/cpp-restsdk/client/api/PetApi.cpp index 00148c091a8..d4d9e4c83d7 100644 --- a/samples/client/petstore/cpp-restsdk/client/api/PetApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/api/PetApi.cpp @@ -113,6 +113,10 @@ pplx::task PetApi::addPet(std::shared_ptr body) const localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->addPet does not consume any supported media type")); @@ -219,6 +223,10 @@ pplx::task PetApi::deletePet(int64_t petId, boost::optionaldeletePet does not consume any supported media type")); @@ -325,6 +333,10 @@ pplx::task>> PetApi::findPetsByStatus(std::vect { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->findPetsByStatus does not consume any supported media type")); @@ -453,6 +465,10 @@ pplx::task>> PetApi::findPetsByTags(std::vector { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->findPetsByTags does not consume any supported media type")); @@ -579,6 +595,10 @@ pplx::task> PetApi::getPetById(int64_t petId) const { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->getPetById does not consume any supported media type")); @@ -728,6 +748,10 @@ pplx::task PetApi::updatePet(std::shared_ptr body) const localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->updatePet does not consume any supported media type")); @@ -839,6 +863,10 @@ pplx::task PetApi::updatePetWithForm(int64_t petId, boost::optionalupdatePetWithForm does not consume any supported media type")); @@ -951,6 +979,10 @@ pplx::task> PetApi::uploadFile(int64_t petId, boost { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->uploadFile does not consume any supported media type")); diff --git a/samples/client/petstore/cpp-restsdk/client/api/StoreApi.cpp b/samples/client/petstore/cpp-restsdk/client/api/StoreApi.cpp index 5bdc44a2f06..a97fc3acb3f 100644 --- a/samples/client/petstore/cpp-restsdk/client/api/StoreApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/api/StoreApi.cpp @@ -90,6 +90,10 @@ pplx::task StoreApi::deleteOrder(utility::string_t orderId) const { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("StoreApi->deleteOrder does not consume any supported media type")); @@ -190,6 +194,10 @@ pplx::task> StoreApi::getInventory() const { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("StoreApi->getInventory does not consume any supported media type")); @@ -323,6 +331,10 @@ pplx::task> StoreApi::getOrderById(int64_t orderId) const { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("StoreApi->getOrderById does not consume any supported media type")); @@ -464,6 +476,10 @@ pplx::task> StoreApi::placeOrder(std::shared_ptr b localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("StoreApi->placeOrder does not consume any supported media type")); diff --git a/samples/client/petstore/cpp-restsdk/client/api/UserApi.cpp b/samples/client/petstore/cpp-restsdk/client/api/UserApi.cpp index 75f9876cc6c..154f478cbc1 100644 --- a/samples/client/petstore/cpp-restsdk/client/api/UserApi.cpp +++ b/samples/client/petstore/cpp-restsdk/client/api/UserApi.cpp @@ -111,6 +111,10 @@ pplx::task UserApi::createUser(std::shared_ptr body) const localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("UserApi->createUser does not consume any supported media type")); @@ -237,6 +241,10 @@ pplx::task UserApi::createUsersWithArrayInput(std::vectorcreateUsersWithArrayInput does not consume any supported media type")); @@ -363,6 +371,10 @@ pplx::task UserApi::createUsersWithListInput(std::vectorcreateUsersWithListInput does not consume any supported media type")); @@ -463,6 +475,10 @@ pplx::task UserApi::deleteUser(utility::string_t username) const { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("UserApi->deleteUser does not consume any supported media type")); @@ -565,6 +581,10 @@ pplx::task> UserApi::getUserByName(utility::string_t usern { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("UserApi->getUserByName does not consume any supported media type")); @@ -695,6 +715,10 @@ pplx::task UserApi::loginUser(utility::string_t username, uti { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("UserApi->loginUser does not consume any supported media type")); @@ -816,6 +840,10 @@ pplx::task UserApi::logoutUser() const { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("UserApi->logoutUser does not consume any supported media type")); @@ -938,6 +966,10 @@ pplx::task UserApi::updateUser(utility::string_t username, std::shared_ptr localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } + else if (localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/x-www-form-urlencoded")) != localVarConsumeHttpContentTypes.end()) + { + localVarRequestHttpContentType = utility::conversions::to_string_t("application/x-www-form-urlencoded"); + } else { throw ApiException(415, utility::conversions::to_string_t("UserApi->updateUser does not consume any supported media type"));