forked from loafle/openapi-generator-original
When a spec defines a Model at the top level that is a non-aggretate type (such as string, number or boolean), it essentially represents an alias for the simple type. For example, the following spec snippet creates an alias of the boolean type that for all intents and purposes acts just like a regular boolean. definitions: JustABoolean: type: boolean This can be modeled in some languages through built-in mechanisms, such as typedefs in C++. Java, however, just not have a clean way of representing this. This change introduces an internal mechanism for representing aliases. It maintains a map in DefaultCodegen that tracks these types of definitions, and wherever it sees the "JustABoolean" type in the spec, it generates code that uses the built-in "Boolean" instead. This functionality currenlty only applies to Java, but could be extended to other languages later. The change adds a few examples of this to the fake endpoint spec for testing, which means all of the samples change as well.
92 lines
2.5 KiB
C++
92 lines
2.5 KiB
C++
/**
|
|
* Swagger Petstore
|
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
|
*
|
|
* OpenAPI spec version: 1.0.0
|
|
* Contact: apiteam@swagger.io
|
|
*
|
|
* NOTE: This class is auto generated by the swagger code generator program.
|
|
* https://github.com/swagger-api/swagger-codegen.git
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
/*
|
|
* ApiClient.h
|
|
*
|
|
* This is an API client responsible for stating the HTTP calls
|
|
*/
|
|
|
|
#ifndef ApiClient_H_
|
|
#define ApiClient_H_
|
|
|
|
|
|
#include "ApiConfiguration.h"
|
|
#include "ApiException.h"
|
|
#include "IHttpBody.h"
|
|
#include "HttpContent.h"
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
#include <cpprest/details/basic_types.h>
|
|
#include <cpprest/http_client.h>
|
|
|
|
namespace io {
|
|
namespace swagger {
|
|
namespace client {
|
|
namespace api {
|
|
|
|
using namespace io::swagger::client::model;
|
|
|
|
class ApiClient
|
|
{
|
|
public:
|
|
ApiClient( std::shared_ptr<ApiConfiguration> configuration = nullptr );
|
|
virtual ~ApiClient();
|
|
|
|
std::shared_ptr<ApiConfiguration> getConfiguration() const;
|
|
void setConfiguration(std::shared_ptr<ApiConfiguration> configuration);
|
|
|
|
static utility::string_t parameterToString(utility::string_t value);
|
|
static utility::string_t parameterToString(int32_t value);
|
|
static utility::string_t parameterToString(int64_t value);
|
|
static utility::string_t parameterToString(float value);
|
|
static utility::string_t parameterToString(const utility::datetime &value);
|
|
|
|
template<class T>
|
|
static utility::string_t parameterToArrayString(std::vector<T> value)
|
|
{
|
|
utility::stringstream_t ss;
|
|
|
|
for( size_t i = 0; i < value.size(); i++)
|
|
{
|
|
if( i > 0) ss << U(", ");
|
|
ss << ApiClient::parameterToString(value[i]);
|
|
}
|
|
|
|
return ss.str();
|
|
}
|
|
|
|
pplx::task<web::http::http_response> callApi(
|
|
const utility::string_t& path,
|
|
const utility::string_t& method,
|
|
const std::map<utility::string_t, utility::string_t>& queryParams,
|
|
const std::shared_ptr<IHttpBody> postBody,
|
|
const std::map<utility::string_t, utility::string_t>& headerParams,
|
|
const std::map<utility::string_t, utility::string_t>& formParams,
|
|
const std::map<utility::string_t, std::shared_ptr<HttpContent>>& fileParams,
|
|
const utility::string_t& contentType
|
|
) const;
|
|
|
|
protected:
|
|
|
|
std::shared_ptr<ApiConfiguration> m_Configuration;
|
|
};
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif /* ApiClient_H_ */
|