diff --git a/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-header.mustache b/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-header.mustache index 08f82e71bec..b17b4979dc5 100644 --- a/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-header.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-header.mustache @@ -25,16 +25,6 @@ namespace {{this}} { using namespace {{modelNamespace}}; -class {{declspec}} {{classname}}: public restbed::Service -{ -public: - {{classname}}(); - ~{{classname}}(); - void startService(int const& port); - void stopService(); -}; - - {{#operation}} /// /// {{summary}} @@ -84,6 +74,24 @@ private: {{/operation}} +// +// The restbed service to actually implement the REST server +// +class {{declspec}} {{classname}}: public restbed::Service +{ +public: + {{classname}}(); + ~{{classname}}(); + void startService(int const& port); + void stopService(); + +protected: + {{#operation}} + std::shared_ptr<{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource> m_sp{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource; + {{/operation}} +}; + + {{#apiNamespaceDeclarations}} } {{/apiNamespaceDeclarations}} diff --git a/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-source.mustache b/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-source.mustache index 47e94862a07..ff53a1b2d44 100644 --- a/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-restbed-server/api-source.mustache @@ -15,16 +15,21 @@ namespace {{this}} { using namespace {{modelNamespace}}; {{classname}}::{{classname}}() { - {{#operation}} - std::shared_ptr<{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource> sp{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource = std::make_shared<{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource>(); - this->publish(sp{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource); - - {{/operation}} } {{classname}}::~{{classname}}() {} void {{classname}}::startService(int const& port) { + // A typical pattern is to derive a class from {{classname}} and allocate the shared pointers for restbed::Resource objects + // and manipulate them (e.g. binding GET/POST handler functions) before this startService() gets called. + // In such a case we want to use our m_spXXX variables. + // However in case these shared pointers are nullptr, then allocate the restbed::Resources now: + {{#operation}} + if (!m_sp{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource) + m_sp{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource = std::make_shared<{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource>(); + this->publish(m_sp{{classname}}{{vendorExtensions.x-codegen-resource-name}}Resource); + {{/operation}} + std::shared_ptr settings = std::make_shared(); settings->set_port(port); settings->set_root("{{contextPath}}"); diff --git a/samples/server/petstore/cpp-restbed/.openapi-generator/VERSION b/samples/server/petstore/cpp-restbed/.openapi-generator/VERSION index 717311e32e3..d99e7162d01 100644 --- a/samples/server/petstore/cpp-restbed/.openapi-generator/VERSION +++ b/samples/server/petstore/cpp-restbed/.openapi-generator/VERSION @@ -1 +1 @@ -unset \ No newline at end of file +5.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/cpp-restbed/api/PetApi.cpp b/samples/server/petstore/cpp-restbed/api/PetApi.cpp index aadfcd871e8..1700f2fd44b 100644 --- a/samples/server/petstore/cpp-restbed/api/PetApi.cpp +++ b/samples/server/petstore/cpp-restbed/api/PetApi.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -26,26 +26,31 @@ namespace api { using namespace org::openapitools::server::model; PetApi::PetApi() { - std::shared_ptr spPetApiPetResource = std::make_shared(); - this->publish(spPetApiPetResource); - - std::shared_ptr spPetApiPetPetIdResource = std::make_shared(); - this->publish(spPetApiPetPetIdResource); - - std::shared_ptr spPetApiPetFindByStatusResource = std::make_shared(); - this->publish(spPetApiPetFindByStatusResource); - - std::shared_ptr spPetApiPetFindByTagsResource = std::make_shared(); - this->publish(spPetApiPetFindByTagsResource); - - std::shared_ptr spPetApiPetPetIdUploadImageResource = std::make_shared(); - this->publish(spPetApiPetPetIdUploadImageResource); - } PetApi::~PetApi() {} void PetApi::startService(int const& port) { + // A typical pattern is to derive a class from PetApi and allocate the shared pointers for restbed::Resource objects + // and manipulate them (e.g. binding GET/POST handler functions) before this startService() gets called. + // In such a case we want to use our m_spXXX variables. + // However in case these shared pointers are nullptr, then allocate the restbed::Resources now: + if (!m_spPetApiPetResource) + m_spPetApiPetResource = std::make_shared(); + this->publish(m_spPetApiPetResource); + if (!m_spPetApiPetPetIdResource) + m_spPetApiPetPetIdResource = std::make_shared(); + this->publish(m_spPetApiPetPetIdResource); + if (!m_spPetApiPetFindByStatusResource) + m_spPetApiPetFindByStatusResource = std::make_shared(); + this->publish(m_spPetApiPetFindByStatusResource); + if (!m_spPetApiPetFindByTagsResource) + m_spPetApiPetFindByTagsResource = std::make_shared(); + this->publish(m_spPetApiPetFindByTagsResource); + if (!m_spPetApiPetPetIdUploadImageResource) + m_spPetApiPetPetIdUploadImageResource = std::make_shared(); + this->publish(m_spPetApiPetPetIdUploadImageResource); + std::shared_ptr settings = std::make_shared(); settings->set_port(port); settings->set_root("/v2"); @@ -66,9 +71,6 @@ PetApiPetResource::PetApiPetResource() this->set_method_handler("PUT", std::bind(&PetApiPetResource::PUT_method_handler, this, std::placeholders::_1)); - - body = std::make_shared(); - } PetApiPetResource::~PetApiPetResource() @@ -175,16 +177,9 @@ PetApiPetPetIdResource::PetApiPetPetIdResource() this->set_method_handler("DELETE", std::bind(&PetApiPetPetIdResource::DELETE_method_handler, this, std::placeholders::_1)); - this->set_method_handler("GET", - std::bind(&PetApiPetPetIdResource::GET_method_handler, this, - std::placeholders::_1)); this->set_method_handler("POST", std::bind(&PetApiPetPetIdResource::POST_method_handler, this, std::placeholders::_1)); - - petId = 0L; - apiKey = ""; - } PetApiPetPetIdResource::~PetApiPetPetIdResource() @@ -198,12 +193,6 @@ void PetApiPetPetIdResource::set_handler_DELETE( handler_DELETE_ = std::move(handler); } -void PetApiPetPetIdResource::set_handler_GET( - std::function( - int64_t const & - )> handler) { - handler_GET_ = std::move(handler); -} void PetApiPetPetIdResource::set_handler_POST( std::function( int64_t const &, std::string const &, std::string const & @@ -240,41 +229,6 @@ void PetApiPetPetIdResource::DELETE_method_handler(const std::shared_ptr session) { - - const auto request = session->get_request(); - - // Getting the path params - const int64_t petId = request->get_path_parameter("petId", 0L); - - - - // Change the value of this variable to the appropriate response before sending the response - int status_code = 200; - std::string result = "successful operation"; - - if (handler_GET_) - { - std::tie(status_code, result) = handler_GET_( - petId - ); - } - - if (status_code == 200) { - std::shared_ptr response = NULL; - session->close(200, result.empty() ? "successful operation" : std::move(result), { {"Connection", "close"} }); - return; - } - if (status_code == 400) { - session->close(400, result.empty() ? "Invalid ID supplied" : std::move(result), { {"Connection", "close"} }); - return; - } - if (status_code == 404) { - session->close(404, result.empty() ? "Pet not found" : std::move(result), { {"Connection", "close"} }); - return; - } - -} void PetApiPetPetIdResource::POST_method_handler(const std::shared_ptr session) { const auto request = session->get_request(); @@ -309,8 +263,6 @@ PetApiPetFindByStatusResource::PetApiPetFindByStatusResource() this->set_method_handler("GET", std::bind(&PetApiPetFindByStatusResource::GET_method_handler, this, std::placeholders::_1)); - - } PetApiPetFindByStatusResource::~PetApiPetFindByStatusResource() @@ -363,8 +315,6 @@ PetApiPetFindByTagsResource::PetApiPetFindByTagsResource() this->set_method_handler("GET", std::bind(&PetApiPetFindByTagsResource::GET_method_handler, this, std::placeholders::_1)); - - } PetApiPetFindByTagsResource::~PetApiPetFindByTagsResource() @@ -417,11 +367,6 @@ PetApiPetPetIdUploadImageResource::PetApiPetPetIdUploadImageResource() this->set_method_handler("POST", std::bind(&PetApiPetPetIdUploadImageResource::POST_method_handler, this, std::placeholders::_1)); - - petId = 0L; - additionalMetadata = ""; - file = ""; - } PetApiPetPetIdUploadImageResource::~PetApiPetPetIdUploadImageResource() diff --git a/samples/server/petstore/cpp-restbed/api/PetApi.h b/samples/server/petstore/cpp-restbed/api/PetApi.h index 41a117a885b..eaf2145565d 100644 --- a/samples/server/petstore/cpp-restbed/api/PetApi.h +++ b/samples/server/petstore/cpp-restbed/api/PetApi.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -45,6 +45,13 @@ public: ~PetApi(); void startService(int const& port); void stopService(); + +protected: + std::shared_ptr m_spPetApiPetResource; + std::shared_ptr m_spPetApiPetPetIdResource; + std::shared_ptr m_spPetApiPetFindByStatusResource; + std::shared_ptr m_spPetApiPetFindByTagsResource; + std::shared_ptr m_spPetApiPetPetIdUploadImageResource; }; @@ -83,7 +90,7 @@ private: std::shared_ptr const & )> handler_PUT_; - std::shared_ptr body; + std::shared_ptr body{}; }; /// @@ -98,7 +105,6 @@ public: PetApiPetPetIdResource(); virtual ~PetApiPetPetIdResource(); void DELETE_method_handler(const std::shared_ptr session); - void GET_method_handler(const std::shared_ptr session); void POST_method_handler(const std::shared_ptr session); void set_handler_DELETE( @@ -107,11 +113,6 @@ public: )> handler ); - void set_handler_GET( - std::function( - int64_t const & - )> handler - ); void set_handler_POST( std::function( int64_t const &, std::string const &, std::string const & @@ -123,15 +124,12 @@ private: int64_t const &, std::string const & )> handler_DELETE_; - std::function( - int64_t const & - )> handler_GET_; std::function( int64_t const &, std::string const &, std::string const & )> handler_POST_; - int64_t petId; - std::string apiKey; + int64_t petId{}; + std::string apiKey{}; }; /// @@ -160,7 +158,7 @@ private: )> handler_GET_; - std::vector status; + std::vector status{}; }; /// @@ -189,7 +187,7 @@ private: )> handler_GET_; - std::vector tags; + std::vector tags{}; }; /// @@ -218,9 +216,9 @@ private: )> handler_POST_; - int64_t petId; - std::string additionalMetadata; - std::string file; + int64_t petId{}; + std::string additionalMetadata{}; + std::string file{}; }; diff --git a/samples/server/petstore/cpp-restbed/api/StoreApi.cpp b/samples/server/petstore/cpp-restbed/api/StoreApi.cpp index 58cd31964df..3fb05fb7493 100644 --- a/samples/server/petstore/cpp-restbed/api/StoreApi.cpp +++ b/samples/server/petstore/cpp-restbed/api/StoreApi.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -26,20 +26,25 @@ namespace api { using namespace org::openapitools::server::model; StoreApi::StoreApi() { - std::shared_ptr spStoreApiStoreOrderOrderIdResource = std::make_shared(); - this->publish(spStoreApiStoreOrderOrderIdResource); - - std::shared_ptr spStoreApiStoreInventoryResource = std::make_shared(); - this->publish(spStoreApiStoreInventoryResource); - - std::shared_ptr spStoreApiStoreOrderResource = std::make_shared(); - this->publish(spStoreApiStoreOrderResource); - } StoreApi::~StoreApi() {} void StoreApi::startService(int const& port) { + // A typical pattern is to derive a class from StoreApi and allocate the shared pointers for restbed::Resource objects + // and manipulate them (e.g. binding GET/POST handler functions) before this startService() gets called. + // In such a case we want to use our m_spXXX variables. + // However in case these shared pointers are nullptr, then allocate the restbed::Resources now: + if (!m_spStoreApiStoreOrderOrderIdResource) + m_spStoreApiStoreOrderOrderIdResource = std::make_shared(); + this->publish(m_spStoreApiStoreOrderOrderIdResource); + if (!m_spStoreApiStoreInventoryResource) + m_spStoreApiStoreInventoryResource = std::make_shared(); + this->publish(m_spStoreApiStoreInventoryResource); + if (!m_spStoreApiStoreOrderResource) + m_spStoreApiStoreOrderResource = std::make_shared(); + this->publish(m_spStoreApiStoreOrderResource); + std::shared_ptr settings = std::make_shared(); settings->set_port(port); settings->set_root("/v2"); @@ -60,9 +65,6 @@ StoreApiStoreOrderOrderIdResource::StoreApiStoreOrderOrderIdResource() this->set_method_handler("GET", std::bind(&StoreApiStoreOrderOrderIdResource::GET_method_handler, this, std::placeholders::_1)); - - orderId = ""; - } StoreApiStoreOrderOrderIdResource::~StoreApiStoreOrderOrderIdResource() @@ -157,8 +159,6 @@ StoreApiStoreInventoryResource::StoreApiStoreInventoryResource() this->set_method_handler("GET", std::bind(&StoreApiStoreInventoryResource::GET_method_handler, this, std::placeholders::_1)); - - } StoreApiStoreInventoryResource::~StoreApiStoreInventoryResource() @@ -206,9 +206,6 @@ StoreApiStoreOrderResource::StoreApiStoreOrderResource() this->set_method_handler("POST", std::bind(&StoreApiStoreOrderResource::POST_method_handler, this, std::placeholders::_1)); - - body = std::make_shared(); - } StoreApiStoreOrderResource::~StoreApiStoreOrderResource() diff --git a/samples/server/petstore/cpp-restbed/api/StoreApi.h b/samples/server/petstore/cpp-restbed/api/StoreApi.h index 80769bd55d6..79bf2af6172 100644 --- a/samples/server/petstore/cpp-restbed/api/StoreApi.h +++ b/samples/server/petstore/cpp-restbed/api/StoreApi.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -45,6 +45,11 @@ public: ~StoreApi(); void startService(int const& port); void stopService(); + +protected: + std::shared_ptr m_spStoreApiStoreOrderOrderIdResource; + std::shared_ptr m_spStoreApiStoreInventoryResource; + std::shared_ptr m_spStoreApiStoreOrderResource; }; @@ -83,7 +88,7 @@ private: int64_t const & )> handler_GET_; - std::string orderId; + std::string orderId{}; }; /// @@ -140,7 +145,7 @@ private: )> handler_POST_; - std::shared_ptr body; + std::shared_ptr body{}; }; diff --git a/samples/server/petstore/cpp-restbed/api/UserApi.cpp b/samples/server/petstore/cpp-restbed/api/UserApi.cpp index 9e0bb6d0c1d..a1630121cf5 100644 --- a/samples/server/petstore/cpp-restbed/api/UserApi.cpp +++ b/samples/server/petstore/cpp-restbed/api/UserApi.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -26,29 +26,34 @@ namespace api { using namespace org::openapitools::server::model; UserApi::UserApi() { - std::shared_ptr spUserApiUserResource = std::make_shared(); - this->publish(spUserApiUserResource); - - std::shared_ptr spUserApiUserCreateWithArrayResource = std::make_shared(); - this->publish(spUserApiUserCreateWithArrayResource); - - std::shared_ptr spUserApiUserCreateWithListResource = std::make_shared(); - this->publish(spUserApiUserCreateWithListResource); - - std::shared_ptr spUserApiUserUsernameResource = std::make_shared(); - this->publish(spUserApiUserUsernameResource); - - std::shared_ptr spUserApiUserLoginResource = std::make_shared(); - this->publish(spUserApiUserLoginResource); - - std::shared_ptr spUserApiUserLogoutResource = std::make_shared(); - this->publish(spUserApiUserLogoutResource); - } UserApi::~UserApi() {} void UserApi::startService(int const& port) { + // A typical pattern is to derive a class from UserApi and allocate the shared pointers for restbed::Resource objects + // and manipulate them (e.g. binding GET/POST handler functions) before this startService() gets called. + // In such a case we want to use our m_spXXX variables. + // However in case these shared pointers are nullptr, then allocate the restbed::Resources now: + if (!m_spUserApiUserResource) + m_spUserApiUserResource = std::make_shared(); + this->publish(m_spUserApiUserResource); + if (!m_spUserApiUserCreateWithArrayResource) + m_spUserApiUserCreateWithArrayResource = std::make_shared(); + this->publish(m_spUserApiUserCreateWithArrayResource); + if (!m_spUserApiUserCreateWithListResource) + m_spUserApiUserCreateWithListResource = std::make_shared(); + this->publish(m_spUserApiUserCreateWithListResource); + if (!m_spUserApiUserUsernameResource) + m_spUserApiUserUsernameResource = std::make_shared(); + this->publish(m_spUserApiUserUsernameResource); + if (!m_spUserApiUserLoginResource) + m_spUserApiUserLoginResource = std::make_shared(); + this->publish(m_spUserApiUserLoginResource); + if (!m_spUserApiUserLogoutResource) + m_spUserApiUserLogoutResource = std::make_shared(); + this->publish(m_spUserApiUserLogoutResource); + std::shared_ptr settings = std::make_shared(); settings->set_port(port); settings->set_root("/v2"); @@ -66,9 +71,6 @@ UserApiUserResource::UserApiUserResource() this->set_method_handler("POST", std::bind(&UserApiUserResource::POST_method_handler, this, std::placeholders::_1)); - - body = std::make_shared(); - } UserApiUserResource::~UserApiUserResource() @@ -128,8 +130,6 @@ UserApiUserCreateWithArrayResource::UserApiUserCreateWithArrayResource() this->set_method_handler("POST", std::bind(&UserApiUserCreateWithArrayResource::POST_method_handler, this, std::placeholders::_1)); - - } UserApiUserCreateWithArrayResource::~UserApiUserCreateWithArrayResource() @@ -189,8 +189,6 @@ UserApiUserCreateWithListResource::UserApiUserCreateWithListResource() this->set_method_handler("POST", std::bind(&UserApiUserCreateWithListResource::POST_method_handler, this, std::placeholders::_1)); - - } UserApiUserCreateWithListResource::~UserApiUserCreateWithListResource() @@ -250,15 +248,9 @@ UserApiUserUsernameResource::UserApiUserUsernameResource() this->set_method_handler("DELETE", std::bind(&UserApiUserUsernameResource::DELETE_method_handler, this, std::placeholders::_1)); - this->set_method_handler("GET", - std::bind(&UserApiUserUsernameResource::GET_method_handler, this, - std::placeholders::_1)); this->set_method_handler("PUT", std::bind(&UserApiUserUsernameResource::PUT_method_handler, this, std::placeholders::_1)); - - username = ""; - } UserApiUserUsernameResource::~UserApiUserUsernameResource() @@ -272,12 +264,6 @@ void UserApiUserUsernameResource::set_handler_DELETE( handler_DELETE_ = std::move(handler); } -void UserApiUserUsernameResource::set_handler_GET( - std::function( - std::string const & - )> handler) { - handler_GET_ = std::move(handler); -} void UserApiUserUsernameResource::set_handler_PUT( std::function( std::string const &, std::shared_ptr const & @@ -316,41 +302,6 @@ void UserApiUserUsernameResource::DELETE_method_handler(const std::shared_ptr session) { - - const auto request = session->get_request(); - - // Getting the path params - const std::string username = request->get_path_parameter("username", ""); - - - - // Change the value of this variable to the appropriate response before sending the response - int status_code = 200; - std::string result = "successful operation"; - - if (handler_GET_) - { - std::tie(status_code, result) = handler_GET_( - username - ); - } - - if (status_code == 200) { - std::shared_ptr response = NULL; - session->close(200, result.empty() ? "successful operation" : std::move(result), { {"Connection", "close"} }); - return; - } - if (status_code == 400) { - session->close(400, result.empty() ? "Invalid username supplied" : std::move(result), { {"Connection", "close"} }); - return; - } - if (status_code == 404) { - session->close(404, result.empty() ? "User not found" : std::move(result), { {"Connection", "close"} }); - return; - } - -} void UserApiUserUsernameResource::PUT_method_handler(const std::shared_ptr session) { const auto request = session->get_request(); @@ -398,10 +349,6 @@ UserApiUserLoginResource::UserApiUserLoginResource() this->set_method_handler("GET", std::bind(&UserApiUserLoginResource::GET_method_handler, this, std::placeholders::_1)); - - username = ""; - password = ""; - } UserApiUserLoginResource::~UserApiUserLoginResource() @@ -460,8 +407,6 @@ UserApiUserLogoutResource::UserApiUserLogoutResource() this->set_method_handler("GET", std::bind(&UserApiUserLogoutResource::GET_method_handler, this, std::placeholders::_1)); - - } UserApiUserLogoutResource::~UserApiUserLogoutResource() diff --git a/samples/server/petstore/cpp-restbed/api/UserApi.h b/samples/server/petstore/cpp-restbed/api/UserApi.h index 6fff9c23b44..509e45308a7 100644 --- a/samples/server/petstore/cpp-restbed/api/UserApi.h +++ b/samples/server/petstore/cpp-restbed/api/UserApi.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -45,6 +45,14 @@ public: ~UserApi(); void startService(int const& port); void stopService(); + +protected: + std::shared_ptr m_spUserApiUserResource; + std::shared_ptr m_spUserApiUserCreateWithArrayResource; + std::shared_ptr m_spUserApiUserCreateWithListResource; + std::shared_ptr m_spUserApiUserUsernameResource; + std::shared_ptr m_spUserApiUserLoginResource; + std::shared_ptr m_spUserApiUserLogoutResource; }; @@ -74,7 +82,7 @@ private: )> handler_POST_; - std::shared_ptr body; + std::shared_ptr body{}; }; /// @@ -103,7 +111,7 @@ private: )> handler_POST_; - std::vector> body; + std::vector> body{}; }; /// @@ -132,7 +140,7 @@ private: )> handler_POST_; - std::vector> body; + std::vector> body{}; }; /// @@ -147,7 +155,6 @@ public: UserApiUserUsernameResource(); virtual ~UserApiUserUsernameResource(); void DELETE_method_handler(const std::shared_ptr session); - void GET_method_handler(const std::shared_ptr session); void PUT_method_handler(const std::shared_ptr session); void set_handler_DELETE( @@ -156,11 +163,6 @@ public: )> handler ); - void set_handler_GET( - std::function( - std::string const & - )> handler - ); void set_handler_PUT( std::function( std::string const &, std::shared_ptr const & @@ -172,14 +174,11 @@ private: std::string const & )> handler_DELETE_; - std::function( - std::string const & - )> handler_GET_; std::function( std::string const &, std::shared_ptr const & )> handler_PUT_; - std::string username; + std::string username{}; }; /// @@ -208,8 +207,8 @@ private: )> handler_GET_; - std::string username; - std::string password; + std::string username{}; + std::string password{}; }; /// diff --git a/samples/server/petstore/cpp-restbed/model/ApiResponse.cpp b/samples/server/petstore/cpp-restbed/model/ApiResponse.cpp index 7d9f5217bc5..9ebf3e6784d 100644 --- a/samples/server/petstore/cpp-restbed/model/ApiResponse.cpp +++ b/samples/server/petstore/cpp-restbed/model/ApiResponse.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/ApiResponse.h b/samples/server/petstore/cpp-restbed/model/ApiResponse.h index db8615f17d5..0f90e52c313 100644 --- a/samples/server/petstore/cpp-restbed/model/ApiResponse.h +++ b/samples/server/petstore/cpp-restbed/model/ApiResponse.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Category.cpp b/samples/server/petstore/cpp-restbed/model/Category.cpp index 5e79804804b..253eeceeaf8 100644 --- a/samples/server/petstore/cpp-restbed/model/Category.cpp +++ b/samples/server/petstore/cpp-restbed/model/Category.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Category.h b/samples/server/petstore/cpp-restbed/model/Category.h index 1d542d54467..13cd4416ce1 100644 --- a/samples/server/petstore/cpp-restbed/model/Category.h +++ b/samples/server/petstore/cpp-restbed/model/Category.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Order.cpp b/samples/server/petstore/cpp-restbed/model/Order.cpp index 108a7f76103..1190c7f4740 100644 --- a/samples/server/petstore/cpp-restbed/model/Order.cpp +++ b/samples/server/petstore/cpp-restbed/model/Order.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Order.h b/samples/server/petstore/cpp-restbed/model/Order.h index 3edc54e353e..8e916ba2683 100644 --- a/samples/server/petstore/cpp-restbed/model/Order.h +++ b/samples/server/petstore/cpp-restbed/model/Order.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Pet.cpp b/samples/server/petstore/cpp-restbed/model/Pet.cpp index 5c7cff35278..8a3b4f19668 100644 --- a/samples/server/petstore/cpp-restbed/model/Pet.cpp +++ b/samples/server/petstore/cpp-restbed/model/Pet.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ @@ -75,10 +75,12 @@ ptree Pet::toPropertyTree() pt.add_child("photoUrls", tmp_node); tmp_node.clear(); } - // generate tree for vector of pointers of Tags + // generate tree for Tags if (!m_Tags.empty()) { for (const auto &childEntry : m_Tags) { - tmp_node.push_back(std::make_pair("", childEntry->toPropertyTree())); + ptree Tags_node; + Tags_node.put("", childEntry); + tmp_node.push_back(std::make_pair("", Tags_node)); } pt.add_child("tags", tmp_node); tmp_node.clear(); @@ -102,11 +104,10 @@ void Pet::fromPropertyTree(ptree const &pt) m_PhotoUrls.emplace_back(childTree.second.data()); } } - // generate new Tag Object for each item and assign it to the current + // push all items of Tags into member vector if (pt.get_child_optional("tags")) { for (const auto &childTree : pt.get_child("tags")) { - m_Tags.emplace_back(std::make_shared()); - m_Tags.back()->fromPropertyTree(childTree.second); + m_Tags.emplace_back(childTree.second.data()); } } setStatus(pt.get("status", "")); diff --git a/samples/server/petstore/cpp-restbed/model/Pet.h b/samples/server/petstore/cpp-restbed/model/Pet.h index b5e97be0312..b7a59c60851 100644 --- a/samples/server/petstore/cpp-restbed/model/Pet.h +++ b/samples/server/petstore/cpp-restbed/model/Pet.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Tag.cpp b/samples/server/petstore/cpp-restbed/model/Tag.cpp index 20020432245..f4784b44059 100644 --- a/samples/server/petstore/cpp-restbed/model/Tag.cpp +++ b/samples/server/petstore/cpp-restbed/model/Tag.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/Tag.h b/samples/server/petstore/cpp-restbed/model/Tag.h index 27248c61a1f..b40aa2c7e15 100644 --- a/samples/server/petstore/cpp-restbed/model/Tag.h +++ b/samples/server/petstore/cpp-restbed/model/Tag.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/User.cpp b/samples/server/petstore/cpp-restbed/model/User.cpp index 6d22aab6f8c..65161d2fb27 100644 --- a/samples/server/petstore/cpp-restbed/model/User.cpp +++ b/samples/server/petstore/cpp-restbed/model/User.cpp @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ diff --git a/samples/server/petstore/cpp-restbed/model/User.h b/samples/server/petstore/cpp-restbed/model/User.h index b8c807ac4e9..c785184e706 100644 --- a/samples/server/petstore/cpp-restbed/model/User.h +++ b/samples/server/petstore/cpp-restbed/model/User.h @@ -5,7 +5,7 @@ * The version of the OpenAPI document: 1.0.0 * * - * NOTE: This class is auto generated by OpenAPI-Generator unset. + * NOTE: This class is auto generated by OpenAPI-Generator 5.0.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */