Skip to main content

Documentation for the cpp-boost-beast-server Generator

METADATA​

PropertyValueNotes
generator namecpp-boost-beast-serverpass this to the generate command after -g
generator stabilityBETA
generator typeSERVER
generator languageC++
generator default templating enginemustache
helpTxtGenerates a C++ Boost.Beast HTTP server.

CONFIG OPTIONS​

These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.

OptionDescriptionValuesDefault
addApiImplStubsGenerate API implementation stubs that answer 501 problem+json and a sample main.cpp for quick startfalse
apiPackageC++ namespace for apis (convention: name.space.api).org.openapitools.server.api
compileWithValidationEmit schema-validation IR and kValidateOnDecode=true in generated ValidationTypes.h (default). Set to false to omit the IR.true
modelPackageC++ namespace for models (convention: name.space.model).org.openapitools.server.model
packageNameC++ package and library name.CppBoostBeastServer
preserveAdditionalPropertiesRetain undeclared JSON object members in generated object models and re-emit them; set to false for strict handling.false
tolerateNonNullableNullsTreat explicit JSON null values as absent for generated model properties whose schemas do not allow null. Enabled by default; set to false for strict schema decoding.true

IMPORT MAPPING​

Type/AliasImports
AnyType#include "AnyType.h"
Null#include <cstddef>
boost::json::value#include <boost/json.hpp>
int32_t#include <cstdint>
int64_t#include <cstdint>
std::map#include <map>
std::monostate#include <variant>
std::nullptr_t#include <cstddef>
std::optional#include <optional>
std::shared_ptr#include <memory>
std::string#include <string>
std::variant#include <variant>
std::vector#include <vector>

INSTANTIATION TYPES​

Type/AliasInstantiated By

LANGUAGE PRIMITIVES​

  • bool
  • char
  • double
  • float
  • int
  • long
  • std::int32_t
  • std::int64_t

RESERVED WORDS​

  • 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

FEATURE SET​

Client Modification Feature​

NameSupportedDefined By
BasePath✗ToolingExtension
Authorizations✗ToolingExtension
UserAgent✗ToolingExtension
MockServer✗ToolingExtension

Data Type Feature​

NameSupportedDefined 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​

NameSupportedDefined By
Readme✓ToolingExtension
Model✓ToolingExtension
Api✓ToolingExtension

Global Feature​

NameSupportedDefined 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​

NameSupportedDefined By
Path✓OAS2,OAS3
Query✓OAS2,OAS3
Header✓OAS2,OAS3
Body✓OAS2
FormUnencoded✗OAS2
FormMultipart✗OAS2
Cookie✓OAS3

Schema Support Feature​

NameSupportedDefined By
Simple✓OAS2,OAS3
Composite✓OAS2,OAS3
Polymorphism✓OAS2,OAS3
Union✓OAS3
allOf✓OAS2,OAS3
anyOf✓OAS3
oneOf✓OAS3
not✓OAS3

Security Feature​

NameSupportedDefined 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​

NameSupportedDefined By
JSON✓OAS2,OAS3
XML✗OAS2,OAS3
PROTOBUF✗ToolingExtension
Custom✗OAS2,OAS3