forked from loafle/openapi-generator-original
- Handling `std::set` in cpp-restdsk - Member variables using `std:set` added to `Pet` in cpp-restsdk 3.0 Petstore sample [cpp-pistache-server] taking into account a remark on this issue about cpp-pistache-server and its set management - Switching `std::vector` to `std::set` for openapi set type in cpp-pistache-server
268 lines
6.1 KiB
Markdown
268 lines
6.1 KiB
Markdown
---
|
|
title: Documentation for the cpp-pistache-server Generator
|
|
---
|
|
|
|
## METADATA
|
|
|
|
| Property | Value | Notes |
|
|
| -------- | ----- | ----- |
|
|
| generator name | cpp-pistache-server | pass this to the generate command after -g |
|
|
| generator stability | STABLE | |
|
|
| generator type | SERVER | |
|
|
| generator language | C++ | |
|
|
| generator default templating engine | mustache | |
|
|
| helpTxt | Generates a C++ API server (based on Pistache) | |
|
|
|
|
## 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 |
|
|
| ------ | ----------- | ------ | ------- |
|
|
|addExternalLibs|Add the Possibility to fetch and compile external Libraries needed by this Framework.| |true|
|
|
|helpersPackage|Specify the package name to be used for the helpers (e.g. org.openapitools.server.helpers).| |org.openapitools.server.helpers|
|
|
|reservedWordPrefix|Prefix to prepend to reserved words in order to avoid conflicts| |r_|
|
|
|useStructModel|Use struct-based model template instead of get/set-based model template| |false|
|
|
|variableNameFirstCharacterUppercase|Make first character of variable name uppercase (eg. value -> Value)| |true|
|
|
|
|
## IMPORT MAPPING
|
|
|
|
| Type/Alias | Imports |
|
|
| ---------- | ------- |
|
|
|nlohmann::json|#include <nlohmann/json.hpp>|
|
|
|std::map|#include <map>|
|
|
|std::set|#include <set>|
|
|
|std::string|#include <string>|
|
|
|std::vector|#include <vector>|
|
|
|
|
|
|
## 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
|