update cpp-restsdk to use 3.0 petstore spec (#18670)

This commit is contained in:
William Cheng
2024-05-14 17:15:36 +08:00
committed by GitHub
parent 09be19cef7
commit cc5c50b227
8 changed files with 896 additions and 62 deletions

View File

@@ -52,9 +52,9 @@ public:
/// <remarks>
///
/// </remarks>
/// <param name="body">Pet object that needs to be added to the store</param>
pplx::task<void> addPet(
std::shared_ptr<Pet> body
/// <param name="pet">Pet object that needs to be added to the store</param>
pplx::task<std::shared_ptr<Pet>> addPet(
std::shared_ptr<Pet> pet
) const;
/// <summary>
/// Deletes a pet
@@ -104,9 +104,9 @@ public:
/// <remarks>
///
/// </remarks>
/// <param name="body">Pet object that needs to be added to the store</param>
pplx::task<void> updatePet(
std::shared_ptr<Pet> body
/// <param name="pet">Pet object that needs to be added to the store</param>
pplx::task<std::shared_ptr<Pet>> updatePet(
std::shared_ptr<Pet> pet
) const;
/// <summary>
/// Updates a pet in the store with form data

View File

@@ -78,9 +78,9 @@ public:
/// <remarks>
///
/// </remarks>
/// <param name="body">order placed for purchasing the pet</param>
/// <param name="order">order placed for purchasing the pet</param>
pplx::task<std::shared_ptr<Order>> placeOrder(
std::shared_ptr<Order> body
std::shared_ptr<Order> order
) const;
protected:

View File

@@ -50,9 +50,9 @@ public:
/// <remarks>
/// This can only be done by the logged in user.
/// </remarks>
/// <param name="body">Created user object</param>
/// <param name="user">Created user object</param>
pplx::task<void> createUser(
std::shared_ptr<User> body
std::shared_ptr<User> user
) const;
/// <summary>
/// Creates list of users with given input array
@@ -60,9 +60,9 @@ public:
/// <remarks>
///
/// </remarks>
/// <param name="body">List of user object</param>
/// <param name="user">List of user object</param>
pplx::task<void> createUsersWithArrayInput(
std::vector<std::shared_ptr<User>> body
std::vector<std::shared_ptr<User>> user
) const;
/// <summary>
/// Creates list of users with given input array
@@ -70,9 +70,9 @@ public:
/// <remarks>
///
/// </remarks>
/// <param name="body">List of user object</param>
/// <param name="user">List of user object</param>
pplx::task<void> createUsersWithListInput(
std::vector<std::shared_ptr<User>> body
std::vector<std::shared_ptr<User>> user
) const;
/// <summary>
/// Delete user
@@ -121,10 +121,10 @@ public:
/// This can only be done by the logged in user.
/// </remarks>
/// <param name="username">name that need to be deleted</param>
/// <param name="body">Updated user object</param>
/// <param name="user">Updated user object</param>
pplx::task<void> updateUser(
utility::string_t username,
std::shared_ptr<User> body
std::shared_ptr<User> user
) const;
protected:

View File

@@ -35,13 +35,13 @@ PetApi::~PetApi()
{
}
pplx::task<void> PetApi::addPet(std::shared_ptr<Pet> body) const
pplx::task<std::shared_ptr<Pet>> PetApi::addPet(std::shared_ptr<Pet> pet) const
{
// verify the required parameter 'body' is set
if (body == nullptr)
// verify the required parameter 'pet' is set
if (pet == nullptr)
{
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'body' when calling PetApi->addPet"));
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'pet' when calling PetApi->addPet"));
}
@@ -54,6 +54,8 @@ pplx::task<void> PetApi::addPet(std::shared_ptr<Pet> body) const
std::map<utility::string_t, std::shared_ptr<HttpContent>> localVarFileParams;
std::unordered_set<utility::string_t> localVarResponseHttpContentTypes;
localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") );
localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
utility::string_t localVarResponseHttpContentType;
@@ -93,7 +95,7 @@ pplx::task<void> PetApi::addPet(std::shared_ptr<Pet> body) const
localVarRequestHttpContentType = utility::conversions::to_string_t("application/json");
web::json::value localVarJson;
localVarJson = ModelBase::toJson(body);
localVarJson = ModelBase::toJson(pet);
localVarHttpBody = std::shared_ptr<IHttpBody>( new JsonBody( localVarJson ) );
@@ -104,9 +106,9 @@ pplx::task<void> PetApi::addPet(std::shared_ptr<Pet> body) const
localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data");
std::shared_ptr<MultipartFormData> localVarMultipart(new MultipartFormData);
if(body.get())
if(pet.get())
{
body->toMultipart(localVarMultipart, utility::conversions::to_string_t("body"));
pet->toMultipart(localVarMultipart, utility::conversions::to_string_t("pet"));
}
@@ -161,7 +163,25 @@ pplx::task<void> PetApi::addPet(std::shared_ptr<Pet> body) const
})
.then([=](utility::string_t localVarResponse)
{
return void();
std::shared_ptr<Pet> localVarResult(new Pet());
if(localVarResponseHttpContentType == utility::conversions::to_string_t("application/json"))
{
web::json::value localVarJson = web::json::value::parse(localVarResponse);
ModelBase::fromJson(localVarJson, localVarResult);
}
// else if(localVarResponseHttpContentType == utility::conversions::to_string_t("multipart/form-data"))
// {
// TODO multipart response parsing
// }
else
{
throw ApiException(500
, utility::conversions::to_string_t("error calling addPet: unsupported response type"));
}
return localVarResult;
});
}
pplx::task<void> PetApi::deletePet(int64_t petId, boost::optional<utility::string_t> apiKey) const
@@ -670,13 +690,13 @@ pplx::task<std::shared_ptr<Pet>> PetApi::getPetById(int64_t petId) const
return localVarResult;
});
}
pplx::task<void> PetApi::updatePet(std::shared_ptr<Pet> body) const
pplx::task<std::shared_ptr<Pet>> PetApi::updatePet(std::shared_ptr<Pet> pet) const
{
// verify the required parameter 'body' is set
if (body == nullptr)
// verify the required parameter 'pet' is set
if (pet == nullptr)
{
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'body' when calling PetApi->updatePet"));
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'pet' when calling PetApi->updatePet"));
}
@@ -689,6 +709,8 @@ pplx::task<void> PetApi::updatePet(std::shared_ptr<Pet> body) const
std::map<utility::string_t, std::shared_ptr<HttpContent>> localVarFileParams;
std::unordered_set<utility::string_t> localVarResponseHttpContentTypes;
localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") );
localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
utility::string_t localVarResponseHttpContentType;
@@ -728,7 +750,7 @@ pplx::task<void> PetApi::updatePet(std::shared_ptr<Pet> body) const
localVarRequestHttpContentType = utility::conversions::to_string_t("application/json");
web::json::value localVarJson;
localVarJson = ModelBase::toJson(body);
localVarJson = ModelBase::toJson(pet);
localVarHttpBody = std::shared_ptr<IHttpBody>( new JsonBody( localVarJson ) );
@@ -739,9 +761,9 @@ pplx::task<void> PetApi::updatePet(std::shared_ptr<Pet> body) const
localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data");
std::shared_ptr<MultipartFormData> localVarMultipart(new MultipartFormData);
if(body.get())
if(pet.get())
{
body->toMultipart(localVarMultipart, utility::conversions::to_string_t("body"));
pet->toMultipart(localVarMultipart, utility::conversions::to_string_t("pet"));
}
@@ -796,7 +818,25 @@ pplx::task<void> PetApi::updatePet(std::shared_ptr<Pet> body) const
})
.then([=](utility::string_t localVarResponse)
{
return void();
std::shared_ptr<Pet> localVarResult(new Pet());
if(localVarResponseHttpContentType == utility::conversions::to_string_t("application/json"))
{
web::json::value localVarJson = web::json::value::parse(localVarResponse);
ModelBase::fromJson(localVarJson, localVarResult);
}
// else if(localVarResponseHttpContentType == utility::conversions::to_string_t("multipart/form-data"))
// {
// TODO multipart response parsing
// }
else
{
throw ApiException(500
, utility::conversions::to_string_t("error calling updatePet: unsupported response type"));
}
return localVarResult;
});
}
pplx::task<void> PetApi::updatePetWithForm(int64_t petId, boost::optional<utility::string_t> name, boost::optional<utility::string_t> status) const

View File

@@ -398,13 +398,13 @@ pplx::task<std::shared_ptr<Order>> StoreApi::getOrderById(int64_t orderId) const
return localVarResult;
});
}
pplx::task<std::shared_ptr<Order>> StoreApi::placeOrder(std::shared_ptr<Order> body) const
pplx::task<std::shared_ptr<Order>> StoreApi::placeOrder(std::shared_ptr<Order> order) const
{
// verify the required parameter 'body' is set
if (body == nullptr)
// verify the required parameter 'order' is set
if (order == nullptr)
{
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'body' when calling StoreApi->placeOrder"));
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'order' when calling StoreApi->placeOrder"));
}
@@ -445,6 +445,7 @@ pplx::task<std::shared_ptr<Order>> StoreApi::placeOrder(std::shared_ptr<Order> b
localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType;
std::unordered_set<utility::string_t> localVarConsumeHttpContentTypes;
localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
std::shared_ptr<IHttpBody> localVarHttpBody;
@@ -456,7 +457,7 @@ pplx::task<std::shared_ptr<Order>> StoreApi::placeOrder(std::shared_ptr<Order> b
localVarRequestHttpContentType = utility::conversions::to_string_t("application/json");
web::json::value localVarJson;
localVarJson = ModelBase::toJson(body);
localVarJson = ModelBase::toJson(order);
localVarHttpBody = std::shared_ptr<IHttpBody>( new JsonBody( localVarJson ) );
@@ -467,9 +468,9 @@ pplx::task<std::shared_ptr<Order>> StoreApi::placeOrder(std::shared_ptr<Order> b
localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data");
std::shared_ptr<MultipartFormData> localVarMultipart(new MultipartFormData);
if(body.get())
if(order.get())
{
body->toMultipart(localVarMultipart, utility::conversions::to_string_t("body"));
order->toMultipart(localVarMultipart, utility::conversions::to_string_t("order"));
}

View File

@@ -35,13 +35,13 @@ UserApi::~UserApi()
{
}
pplx::task<void> UserApi::createUser(std::shared_ptr<User> body) const
pplx::task<void> UserApi::createUser(std::shared_ptr<User> user) const
{
// verify the required parameter 'body' is set
if (body == nullptr)
// verify the required parameter 'user' is set
if (user == nullptr)
{
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'body' when calling UserApi->createUser"));
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'user' when calling UserApi->createUser"));
}
@@ -80,6 +80,7 @@ pplx::task<void> UserApi::createUser(std::shared_ptr<User> body) const
localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType;
std::unordered_set<utility::string_t> localVarConsumeHttpContentTypes;
localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
std::shared_ptr<IHttpBody> localVarHttpBody;
@@ -91,7 +92,7 @@ pplx::task<void> UserApi::createUser(std::shared_ptr<User> body) const
localVarRequestHttpContentType = utility::conversions::to_string_t("application/json");
web::json::value localVarJson;
localVarJson = ModelBase::toJson(body);
localVarJson = ModelBase::toJson(user);
localVarHttpBody = std::shared_ptr<IHttpBody>( new JsonBody( localVarJson ) );
@@ -102,9 +103,9 @@ pplx::task<void> UserApi::createUser(std::shared_ptr<User> body) const
localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data");
std::shared_ptr<MultipartFormData> localVarMultipart(new MultipartFormData);
if(body.get())
if(user.get())
{
body->toMultipart(localVarMultipart, utility::conversions::to_string_t("body"));
user->toMultipart(localVarMultipart, utility::conversions::to_string_t("user"));
}
@@ -120,6 +121,14 @@ pplx::task<void> UserApi::createUser(std::shared_ptr<User> body) const
throw ApiException(415, utility::conversions::to_string_t("UserApi->createUser does not consume any supported media type"));
}
// authentication (api_key) required
{
utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key"));
if ( localVarApiKey.size() > 0 )
{
localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey;
}
}
return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("POST"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType)
.then([=](web::http::http_response localVarResponse)
@@ -160,7 +169,7 @@ pplx::task<void> UserApi::createUser(std::shared_ptr<User> body) const
return void();
});
}
pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<User>> body) const
pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<User>> user) const
{
@@ -199,6 +208,7 @@ pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<
localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType;
std::unordered_set<utility::string_t> localVarConsumeHttpContentTypes;
localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
std::shared_ptr<IHttpBody> localVarHttpBody;
@@ -212,7 +222,7 @@ pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<
{
std::vector<web::json::value> localVarJsonArray;
for( auto& localVarItem : body )
for( auto& localVarItem : user )
{
localVarJsonArray.push_back( localVarItem.get() ? localVarItem->toJson() : web::json::value::null() );
@@ -230,11 +240,11 @@ pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<
{
std::vector<web::json::value> localVarJsonArray;
for( auto& localVarItem : body )
for( auto& localVarItem : user )
{
localVarJsonArray.push_back(ModelBase::toJson(localVarItem));
}
localVarMultipart->add(ModelBase::toHttpContent(utility::conversions::to_string_t("body"), localVarJsonArray, utility::conversions::to_string_t("application/json")));
localVarMultipart->add(ModelBase::toHttpContent(utility::conversions::to_string_t("user"), localVarJsonArray, utility::conversions::to_string_t("application/json")));
}
@@ -250,6 +260,14 @@ pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<
throw ApiException(415, utility::conversions::to_string_t("UserApi->createUsersWithArrayInput does not consume any supported media type"));
}
// authentication (api_key) required
{
utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key"));
if ( localVarApiKey.size() > 0 )
{
localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey;
}
}
return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("POST"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType)
.then([=](web::http::http_response localVarResponse)
@@ -290,7 +308,7 @@ pplx::task<void> UserApi::createUsersWithArrayInput(std::vector<std::shared_ptr<
return void();
});
}
pplx::task<void> UserApi::createUsersWithListInput(std::vector<std::shared_ptr<User>> body) const
pplx::task<void> UserApi::createUsersWithListInput(std::vector<std::shared_ptr<User>> user) const
{
@@ -329,6 +347,7 @@ pplx::task<void> UserApi::createUsersWithListInput(std::vector<std::shared_ptr<U
localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType;
std::unordered_set<utility::string_t> localVarConsumeHttpContentTypes;
localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
std::shared_ptr<IHttpBody> localVarHttpBody;
@@ -342,7 +361,7 @@ pplx::task<void> UserApi::createUsersWithListInput(std::vector<std::shared_ptr<U
{
std::vector<web::json::value> localVarJsonArray;
for( auto& localVarItem : body )
for( auto& localVarItem : user )
{
localVarJsonArray.push_back( localVarItem.get() ? localVarItem->toJson() : web::json::value::null() );
@@ -360,11 +379,11 @@ pplx::task<void> UserApi::createUsersWithListInput(std::vector<std::shared_ptr<U
{
std::vector<web::json::value> localVarJsonArray;
for( auto& localVarItem : body )
for( auto& localVarItem : user )
{
localVarJsonArray.push_back(ModelBase::toJson(localVarItem));
}
localVarMultipart->add(ModelBase::toHttpContent(utility::conversions::to_string_t("body"), localVarJsonArray, utility::conversions::to_string_t("application/json")));
localVarMultipart->add(ModelBase::toHttpContent(utility::conversions::to_string_t("user"), localVarJsonArray, utility::conversions::to_string_t("application/json")));
}
@@ -380,6 +399,14 @@ pplx::task<void> UserApi::createUsersWithListInput(std::vector<std::shared_ptr<U
throw ApiException(415, utility::conversions::to_string_t("UserApi->createUsersWithListInput does not consume any supported media type"));
}
// authentication (api_key) required
{
utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key"));
if ( localVarApiKey.size() > 0 )
{
localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey;
}
}
return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("POST"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType)
.then([=](web::http::http_response localVarResponse)
@@ -484,6 +511,14 @@ pplx::task<void> UserApi::deleteUser(utility::string_t username) const
throw ApiException(415, utility::conversions::to_string_t("UserApi->deleteUser does not consume any supported media type"));
}
// authentication (api_key) required
{
utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key"));
if ( localVarApiKey.size() > 0 )
{
localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey;
}
}
return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("DELETE"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType)
.then([=](web::http::http_response localVarResponse)
@@ -849,6 +884,14 @@ pplx::task<void> UserApi::logoutUser() const
throw ApiException(415, utility::conversions::to_string_t("UserApi->logoutUser does not consume any supported media type"));
}
// authentication (api_key) required
{
utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key"));
if ( localVarApiKey.size() > 0 )
{
localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey;
}
}
return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("GET"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType)
.then([=](web::http::http_response localVarResponse)
@@ -889,13 +932,13 @@ pplx::task<void> UserApi::logoutUser() const
return void();
});
}
pplx::task<void> UserApi::updateUser(utility::string_t username, std::shared_ptr<User> body) const
pplx::task<void> UserApi::updateUser(utility::string_t username, std::shared_ptr<User> user) const
{
// verify the required parameter 'body' is set
if (body == nullptr)
// verify the required parameter 'user' is set
if (user == nullptr)
{
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'body' when calling UserApi->updateUser"));
throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'user' when calling UserApi->updateUser"));
}
@@ -935,6 +978,7 @@ pplx::task<void> UserApi::updateUser(utility::string_t username, std::shared_ptr
localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType;
std::unordered_set<utility::string_t> localVarConsumeHttpContentTypes;
localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") );
std::shared_ptr<IHttpBody> localVarHttpBody;
@@ -946,7 +990,7 @@ pplx::task<void> UserApi::updateUser(utility::string_t username, std::shared_ptr
localVarRequestHttpContentType = utility::conversions::to_string_t("application/json");
web::json::value localVarJson;
localVarJson = ModelBase::toJson(body);
localVarJson = ModelBase::toJson(user);
localVarHttpBody = std::shared_ptr<IHttpBody>( new JsonBody( localVarJson ) );
@@ -957,9 +1001,9 @@ pplx::task<void> UserApi::updateUser(utility::string_t username, std::shared_ptr
localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data");
std::shared_ptr<MultipartFormData> localVarMultipart(new MultipartFormData);
if(body.get())
if(user.get())
{
body->toMultipart(localVarMultipart, utility::conversions::to_string_t("body"));
user->toMultipart(localVarMultipart, utility::conversions::to_string_t("user"));
}
@@ -975,6 +1019,14 @@ pplx::task<void> UserApi::updateUser(utility::string_t username, std::shared_ptr
throw ApiException(415, utility::conversions::to_string_t("UserApi->updateUser does not consume any supported media type"));
}
// authentication (api_key) required
{
utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key"));
if ( localVarApiKey.size() > 0 )
{
localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey;
}
}
return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("PUT"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType)
.then([=](web::http::http_response localVarResponse)