Skip to content

Commit fda55b2

Browse files
committed
[cpp-rest-sdk] support serializing std::maps
1 parent 89eea74 commit fda55b2

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/apiclient-header.mustache

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public:
5959
{{/hasModelImport}}
6060
template<class T>
6161
static utility::string_t parameterToString(const std::vector<T>& value);
62+
template<class T, class U>
63+
static utility::string_t parameterToString(const std::map<T, U>& value);
6264
template<class T>
6365
static utility::string_t parameterToString(const std::shared_ptr<T>& value);
6466

@@ -93,6 +95,19 @@ utility::string_t ApiClient::parameterToString(const std::vector<T>& value)
9395
return ss.str();
9496
}
9597

98+
template<class T, class U>
99+
utility::string_t ApiClient::parameterToString(const std::map<T, U>& value)
100+
{
101+
utility::stringstream_t ss;
102+
ss << "{";
103+
for(const auto& pair : value)
104+
{
105+
ss << ApiClient::parameterToString(pair.first) << ": " << ApiClient::parameterToString(pair.second) << ", ";
106+
}
107+
ss << "}";
108+
return ss.str();
109+
}
110+
96111
template<class T>
97112
utility::string_t ApiClient::parameterToString(const std::shared_ptr<T>& value)
98113
{

0 commit comments

Comments
 (0)