diff --git a/modules/openapi-generator/src/main/resources/cpp-restbed-server/model-source.mustache b/modules/openapi-generator/src/main/resources/cpp-restbed-server/model-source.mustache index 3544da734cf..06f161f2f07 100644 --- a/modules/openapi-generator/src/main/resources/cpp-restbed-server/model-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-restbed-server/model-source.mustache @@ -183,6 +183,8 @@ void {{classname}}::{{setter}}({{{dataType}}} value) { {{#isEnum}}if (std::find(m_{{enumName}}.begin(), m_{{enumName}}.end(), value) != m_{{enumName}}.end()) { {{/isEnum}}m_{{name}} = value;{{#isEnum}} + } else { + throw std::runtime_error("Value " + value + " not allowed"); }{{/isEnum}} } {{/vars}} diff --git a/samples/server/petstore/cpp-restbed/api/PetApi.h b/samples/server/petstore/cpp-restbed/api/PetApi.h index eaf2145565d..2512275920d 100644 --- a/samples/server/petstore/cpp-restbed/api/PetApi.h +++ b/samples/server/petstore/cpp-restbed/api/PetApi.h @@ -38,23 +38,6 @@ namespace api { using namespace org::openapitools::server::model; -class PetApi: public restbed::Service -{ -public: - PetApi(); - ~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; -}; - - /// /// Add a new pet to the store /// @@ -222,6 +205,26 @@ private: }; +// +// The restbed service to actually implement the REST server +// +class PetApi: public restbed::Service +{ +public: + PetApi(); + ~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; +}; + + } } } diff --git a/samples/server/petstore/cpp-restbed/api/StoreApi.h b/samples/server/petstore/cpp-restbed/api/StoreApi.h index 79bf2af6172..7089e9f6bc2 100644 --- a/samples/server/petstore/cpp-restbed/api/StoreApi.h +++ b/samples/server/petstore/cpp-restbed/api/StoreApi.h @@ -38,21 +38,6 @@ namespace api { using namespace org::openapitools::server::model; -class StoreApi: public restbed::Service -{ -public: - StoreApi(); - ~StoreApi(); - void startService(int const& port); - void stopService(); - -protected: - std::shared_ptr m_spStoreApiStoreOrderOrderIdResource; - std::shared_ptr m_spStoreApiStoreInventoryResource; - std::shared_ptr m_spStoreApiStoreOrderResource; -}; - - /// /// Delete purchase order by ID /// @@ -149,6 +134,24 @@ private: }; +// +// The restbed service to actually implement the REST server +// +class StoreApi: public restbed::Service +{ +public: + StoreApi(); + ~StoreApi(); + void startService(int const& port); + void stopService(); + +protected: + std::shared_ptr m_spStoreApiStoreOrderOrderIdResource; + std::shared_ptr m_spStoreApiStoreInventoryResource; + std::shared_ptr m_spStoreApiStoreOrderResource; +}; + + } } } diff --git a/samples/server/petstore/cpp-restbed/api/UserApi.h b/samples/server/petstore/cpp-restbed/api/UserApi.h index 509e45308a7..9c4f4af73ee 100644 --- a/samples/server/petstore/cpp-restbed/api/UserApi.h +++ b/samples/server/petstore/cpp-restbed/api/UserApi.h @@ -38,24 +38,6 @@ namespace api { using namespace org::openapitools::server::model; -class UserApi: public restbed::Service -{ -public: - UserApi(); - ~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; -}; - - /// /// Create user /// @@ -240,6 +222,27 @@ private: }; +// +// The restbed service to actually implement the REST server +// +class UserApi: public restbed::Service +{ +public: + UserApi(); + ~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; +}; + + } } } diff --git a/samples/server/petstore/cpp-restbed/model/Order.cpp b/samples/server/petstore/cpp-restbed/model/Order.cpp index 1190c7f4740..19e539ce226 100644 --- a/samples/server/petstore/cpp-restbed/model/Order.cpp +++ b/samples/server/petstore/cpp-restbed/model/Order.cpp @@ -123,6 +123,8 @@ void Order::setStatus(std::string value) { if (std::find(m_StatusEnum.begin(), m_StatusEnum.end(), value) != m_StatusEnum.end()) { m_Status = value; + } else { + throw std::runtime_error("Value " + value + " not allowed"); } } bool Order::isComplete() const diff --git a/samples/server/petstore/cpp-restbed/model/Pet.cpp b/samples/server/petstore/cpp-restbed/model/Pet.cpp index 8a3b4f19668..3e0d909847d 100644 --- a/samples/server/petstore/cpp-restbed/model/Pet.cpp +++ b/samples/server/petstore/cpp-restbed/model/Pet.cpp @@ -161,6 +161,8 @@ void Pet::setStatus(std::string value) { if (std::find(m_StatusEnum.begin(), m_StatusEnum.end(), value) != m_StatusEnum.end()) { m_Status = value; + } else { + throw std::runtime_error("Value " + value + " not allowed"); } }