mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 10:43:44 +00:00 
			
		
		
		
	* Revert "Revert "[cpp-restsdk] add support for oneOf via std::variant (#18474)…" This reverts commit 8d398719c99fbcbfa6471e0bb938f9d384454f8f. * update samples * update pom * set cxx 17 * Revert "set cxx 17" This reverts commit 0cec8f725dd8017217b75e827a54da5440dd55d1. * install clang 6.0 * Update CI/circle_parallel.sh Co-authored-by: Amin Yahyaabadi <aminyahyaabadi74@gmail.com> * fix include --------- Co-authored-by: Amin Yahyaabadi <aminyahyaabadi74@gmail.com>
		
			
				
	
	
		
			276 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			276 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Documentation for the cpp-restsdk Generator
 | 
						|
---
 | 
						|
 | 
						|
## METADATA
 | 
						|
 | 
						|
| Property | Value | Notes |
 | 
						|
| -------- | ----- | ----- |
 | 
						|
| generator name | cpp-restsdk | pass this to the generate command after -g |
 | 
						|
| generator stability | STABLE | |
 | 
						|
| generator type | CLIENT | |
 | 
						|
| generator language | C++ | |
 | 
						|
| generator default templating engine | mustache | |
 | 
						|
| helpTxt | Generates a C++ API client with C++ REST SDK (https://github.com/Microsoft/cpprestsdk). | |
 | 
						|
 | 
						|
## CONFIG OPTIONS
 | 
						|
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
 | 
						|
 | 
						|
| Option | Description | Values | Default |
 | 
						|
| ------ | ----------- | ------ | ------- |
 | 
						|
|apiPackage|C++ namespace for apis (convention: name.space.api).| |org.openapitools.client.api|
 | 
						|
|declspec|C++ preprocessor to place before the class name for handling dllexport/dllimport.| ||
 | 
						|
|defaultInclude|The default include statement that should be placed in all headers for including things like the declspec (convention: #include "Commons.h" | ||
 | 
						|
|generateGMocksForApis|Generate Google Mock classes for APIs.| |null|
 | 
						|
|modelPackage|C++ namespace for models (convention: name.space.model).| |org.openapitools.client.model|
 | 
						|
|packageName|C++ package (library) name.| |CppRestOpenAPIClient|
 | 
						|
|packageVersion|C++ package version.| |1.0.0|
 | 
						|
|reservedWordPrefix|Prefix to prepend to reserved words in order to avoid conflicts| |r_|
 | 
						|
|variableNameFirstCharacterUppercase|Make first character of variable name uppercase (eg. value -> Value)| |true|
 | 
						|
 | 
						|
## IMPORT MAPPING
 | 
						|
 | 
						|
| Type/Alias | Imports |
 | 
						|
| ---------- | ------- |
 | 
						|
|AnyType|#include "AnyType.h"|
 | 
						|
|HttpContent|#include "HttpContent.h"|
 | 
						|
|Object|#include "Object.h"|
 | 
						|
|std::map|#include <map>|
 | 
						|
|std::set|#include <set>|
 | 
						|
|std::string|#include <string>|
 | 
						|
|std::vector|#include <vector>|
 | 
						|
|utility::datetime|#include <cpprest/details/basic_types.h>|
 | 
						|
|utility::string_t|#include <cpprest/details/basic_types.h>|
 | 
						|
 | 
						|
 | 
						|
## INSTANTIATION TYPES
 | 
						|
 | 
						|
| Type/Alias | Instantiated By |
 | 
						|
| ---------- | --------------- |
 | 
						|
 | 
						|
 | 
						|
## LANGUAGE PRIMITIVES
 | 
						|
 | 
						|
<ul class="column-ul">
 | 
						|
<li>bool</li>
 | 
						|
<li>char</li>
 | 
						|
<li>double</li>
 | 
						|
<li>float</li>
 | 
						|
<li>int</li>
 | 
						|
<li>int32_t</li>
 | 
						|
<li>int64_t</li>
 | 
						|
<li>long</li>
 | 
						|
</ul>
 | 
						|
 | 
						|
## RESERVED WORDS
 | 
						|
 | 
						|
<ul class="column-ul">
 | 
						|
<li>NULL</li>
 | 
						|
<li>alignas</li>
 | 
						|
<li>alignof</li>
 | 
						|
<li>and</li>
 | 
						|
<li>and_eq</li>
 | 
						|
<li>asm</li>
 | 
						|
<li>auto</li>
 | 
						|
<li>bitand</li>
 | 
						|
<li>bitor</li>
 | 
						|
<li>bool</li>
 | 
						|
<li>break</li>
 | 
						|
<li>case</li>
 | 
						|
<li>catch</li>
 | 
						|
<li>char</li>
 | 
						|
<li>char16_t</li>
 | 
						|
<li>char32_t</li>
 | 
						|
<li>class</li>
 | 
						|
<li>compl</li>
 | 
						|
<li>concept</li>
 | 
						|
<li>const</li>
 | 
						|
<li>const_cast</li>
 | 
						|
<li>constexpr</li>
 | 
						|
<li>continue</li>
 | 
						|
<li>decltype</li>
 | 
						|
<li>default</li>
 | 
						|
<li>delete</li>
 | 
						|
<li>do</li>
 | 
						|
<li>double</li>
 | 
						|
<li>dynamic_cast</li>
 | 
						|
<li>else</li>
 | 
						|
<li>enum</li>
 | 
						|
<li>explicit</li>
 | 
						|
<li>export</li>
 | 
						|
<li>extern</li>
 | 
						|
<li>false</li>
 | 
						|
<li>float</li>
 | 
						|
<li>for</li>
 | 
						|
<li>friend</li>
 | 
						|
<li>goto</li>
 | 
						|
<li>if</li>
 | 
						|
<li>inline</li>
 | 
						|
<li>int</li>
 | 
						|
<li>linux</li>
 | 
						|
<li>long</li>
 | 
						|
<li>mutable</li>
 | 
						|
<li>namespace</li>
 | 
						|
<li>new</li>
 | 
						|
<li>noexcept</li>
 | 
						|
<li>not</li>
 | 
						|
<li>not_eq</li>
 | 
						|
<li>nullptr</li>
 | 
						|
<li>operator</li>
 | 
						|
<li>or</li>
 | 
						|
<li>or_eq</li>
 | 
						|
<li>private</li>
 | 
						|
<li>protected</li>
 | 
						|
<li>public</li>
 | 
						|
<li>register</li>
 | 
						|
<li>reinterpret_cast</li>
 | 
						|
<li>requires</li>
 | 
						|
<li>return</li>
 | 
						|
<li>short</li>
 | 
						|
<li>signed</li>
 | 
						|
<li>sizeof</li>
 | 
						|
<li>static</li>
 | 
						|
<li>static_assert</li>
 | 
						|
<li>static_cast</li>
 | 
						|
<li>struct</li>
 | 
						|
<li>switch</li>
 | 
						|
<li>template</li>
 | 
						|
<li>this</li>
 | 
						|
<li>thread_local</li>
 | 
						|
<li>throw</li>
 | 
						|
<li>true</li>
 | 
						|
<li>try</li>
 | 
						|
<li>typedef</li>
 | 
						|
<li>typeid</li>
 | 
						|
<li>typename</li>
 | 
						|
<li>union</li>
 | 
						|
<li>unsigned</li>
 | 
						|
<li>using</li>
 | 
						|
<li>virtual</li>
 | 
						|
<li>void</li>
 | 
						|
<li>volatile</li>
 | 
						|
<li>wchar_t</li>
 | 
						|
<li>while</li>
 | 
						|
<li>xor</li>
 | 
						|
<li>xor_eq</li>
 | 
						|
</ul>
 | 
						|
 | 
						|
## FEATURE SET
 | 
						|
 | 
						|
 | 
						|
### Client Modification Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|BasePath|✗|ToolingExtension
 | 
						|
|Authorizations|✗|ToolingExtension
 | 
						|
|UserAgent|✗|ToolingExtension
 | 
						|
|MockServer|✗|ToolingExtension
 | 
						|
 | 
						|
### Data Type Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|Custom|✗|OAS2,OAS3
 | 
						|
|Int32|✓|OAS2,OAS3
 | 
						|
|Int64|✓|OAS2,OAS3
 | 
						|
|Float|✓|OAS2,OAS3
 | 
						|
|Double|✓|OAS2,OAS3
 | 
						|
|Decimal|✓|ToolingExtension
 | 
						|
|String|✓|OAS2,OAS3
 | 
						|
|Byte|✓|OAS2,OAS3
 | 
						|
|Binary|✓|OAS2,OAS3
 | 
						|
|Boolean|✓|OAS2,OAS3
 | 
						|
|Date|✓|OAS2,OAS3
 | 
						|
|DateTime|✓|OAS2,OAS3
 | 
						|
|Password|✓|OAS2,OAS3
 | 
						|
|File|✓|OAS2
 | 
						|
|Uuid|✗|
 | 
						|
|Array|✓|OAS2,OAS3
 | 
						|
|Null|✗|OAS3
 | 
						|
|AnyType|✓|OAS2,OAS3
 | 
						|
|Object|✓|OAS2,OAS3
 | 
						|
|Maps|✓|ToolingExtension
 | 
						|
|CollectionFormat|✓|OAS2
 | 
						|
|CollectionFormatMulti|✓|OAS2
 | 
						|
|Enum|✓|OAS2,OAS3
 | 
						|
|ArrayOfEnum|✓|ToolingExtension
 | 
						|
|ArrayOfModel|✓|ToolingExtension
 | 
						|
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension
 | 
						|
|ArrayOfCollectionOfModel|✓|ToolingExtension
 | 
						|
|ArrayOfCollectionOfEnum|✓|ToolingExtension
 | 
						|
|MapOfEnum|✓|ToolingExtension
 | 
						|
|MapOfModel|✓|ToolingExtension
 | 
						|
|MapOfCollectionOfPrimitives|✓|ToolingExtension
 | 
						|
|MapOfCollectionOfModel|✓|ToolingExtension
 | 
						|
|MapOfCollectionOfEnum|✓|ToolingExtension
 | 
						|
 | 
						|
### Documentation Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|Readme|✓|ToolingExtension
 | 
						|
|Model|✓|ToolingExtension
 | 
						|
|Api|✓|ToolingExtension
 | 
						|
 | 
						|
### Global Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|Host|✓|OAS2,OAS3
 | 
						|
|BasePath|✓|OAS2,OAS3
 | 
						|
|Info|✓|OAS2,OAS3
 | 
						|
|Schemes|✗|OAS2,OAS3
 | 
						|
|PartialSchemes|✓|OAS2,OAS3
 | 
						|
|Consumes|✓|OAS2
 | 
						|
|Produces|✓|OAS2
 | 
						|
|ExternalDocumentation|✓|OAS2,OAS3
 | 
						|
|Examples|✓|OAS2,OAS3
 | 
						|
|XMLStructureDefinitions|✗|OAS2,OAS3
 | 
						|
|MultiServer|✗|OAS3
 | 
						|
|ParameterizedServer|✗|OAS3
 | 
						|
|ParameterStyling|✗|OAS3
 | 
						|
|Callbacks|✗|OAS3
 | 
						|
|LinkObjects|✗|OAS3
 | 
						|
 | 
						|
### Parameter Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|Path|✓|OAS2,OAS3
 | 
						|
|Query|✓|OAS2,OAS3
 | 
						|
|Header|✓|OAS2,OAS3
 | 
						|
|Body|✓|OAS2
 | 
						|
|FormUnencoded|✓|OAS2
 | 
						|
|FormMultipart|✓|OAS2
 | 
						|
|Cookie|✗|OAS3
 | 
						|
 | 
						|
### Schema Support Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|Simple|✓|OAS2,OAS3
 | 
						|
|Composite|✓|OAS2,OAS3
 | 
						|
|Polymorphism|✓|OAS2,OAS3
 | 
						|
|Union|✗|OAS3
 | 
						|
|allOf|✗|OAS2,OAS3
 | 
						|
|anyOf|✗|OAS3
 | 
						|
|oneOf|✓|OAS3
 | 
						|
|not|✗|OAS3
 | 
						|
 | 
						|
### Security Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|BasicAuth|✓|OAS2,OAS3
 | 
						|
|ApiKey|✓|OAS2,OAS3
 | 
						|
|OpenIDConnect|✗|OAS3
 | 
						|
|BearerToken|✗|OAS3
 | 
						|
|OAuth2_Implicit|✓|OAS2,OAS3
 | 
						|
|OAuth2_Password|✗|OAS2,OAS3
 | 
						|
|OAuth2_ClientCredentials|✗|OAS2,OAS3
 | 
						|
|OAuth2_AuthorizationCode|✗|OAS2,OAS3
 | 
						|
|SignatureAuth|✗|OAS3
 | 
						|
|AWSV4Signature|✗|ToolingExtension
 | 
						|
 | 
						|
### Wire Format Feature
 | 
						|
| Name | Supported | Defined By |
 | 
						|
| ---- | --------- | ---------- |
 | 
						|
|JSON|✓|OAS2,OAS3
 | 
						|
|XML|✓|OAS2,OAS3
 | 
						|
|PROTOBUF|✗|ToolingExtension
 | 
						|
|Custom|✗|OAS2,OAS3
 |