title
Documentation for the cpp-pistache-server Generator
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)
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs 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
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>
Type/Alias
Instantiated By
bool
char
double
float
int
int32_t
int64_t
long
NULL
alignas
alignof
and
and_eq
asm
auto
bitand
bitor
bool
break
case
catch
char
char16_t
char32_t
class
compl
concept
const
const_cast
constexpr
continue
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
inline
int
linux
long
mutable
namespace
new
noexcept
not
not_eq
nullptr
operator
or
or_eq
private
protected
public
register
reinterpret_cast
requires
return
short
signed
sizeof
static
static_assert
static_cast
struct
switch
template
this
thread_local
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
volatile
wchar_t
while
xor
xor_eq
Client Modification Feature
Name
Supported
Defined By
BasePath
✗
ToolingExtension
Authorizations
✗
ToolingExtension
UserAgent
✗
ToolingExtension
MockServer
✗
ToolingExtension
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
Name
Supported
Defined By
Readme
✓
ToolingExtension
Model
✓
ToolingExtension
Api
✓
ToolingExtension
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
Name
Supported
Defined By
Path
✓
OAS2,OAS3
Query
✓
OAS2,OAS3
Header
✓
OAS2,OAS3
Body
✓
OAS2
FormUnencoded
✓
OAS2
FormMultipart
✓
OAS2
Cookie
✗
OAS3
Name
Supported
Defined By
Simple
✓
OAS2,OAS3
Composite
✓
OAS2,OAS3
Polymorphism
✗
OAS2,OAS3
Union
✗
OAS3
allOf
✗
OAS2,OAS3
anyOf
✗
OAS3
oneOf
✗
OAS3
not
✗
OAS3
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
Name
Supported
Defined By
JSON
✓
OAS2,OAS3
XML
✓
OAS2,OAS3
PROTOBUF
✗
ToolingExtension
Custom
✗
OAS2,OAS3