Files
openapi-generator/samples/server/petstore/cpp-httplib-server/feature-test/models/CreditCard.cpp
vasireddyrajesh b96334ffad Add standalone C++ server using cpp-httplib for OpenAPI-based APIs (#21724)
Supports:
All OpenAPI 3.x data types: primitives, arrays, enums, nullable/optional fields, nested objects
All parameter types: path, query, header, cookie, and combinations
Schema composition: allOf (inheritance), oneOf (discriminated unions), anyOf (flexible unions)
Security schemes: API key and bearer token authentication
Discriminator-based polymorphic deserialization and error handling

Provides:
Error handling for invalid JSON, type mismatches, missing/unknown discriminator, and parameter validation
Build system integration (CMake) for easy compilation and linking with required dependencies
Clear build and run instructions for local development and testing
Enables comprehensive, real-world validation of generated C++ server code against OpenAPI specifications
2026-02-12 19:41:05 +08:00

95 lines
2.0 KiB
C++

/**
* This file is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "CreditCard.h"
namespace models {
CreditCard::CreditCard()
: paymentType("")
, cardNumber("")
, cardType(CardTypeEnum::UNSPECIFIED)
{
}
// =========================================
// ===== Getters/Setters =====
// =========================================
// ===================
// ===== Getters =====
// ===================
std::string CreditCard::getPaymentType() const
{
return paymentType;
}
std::string CreditCard::getCardNumber() const
{
return cardNumber;
}
CreditCard::CardTypeEnum CreditCard::getCardType() const
{
return cardType;
}
// ===================
// ===== Setters =====
// ===================
void CreditCard::setPaymentType(const std::string& paymentTypeObj)
{
paymentType = paymentTypeObj;
}
void CreditCard::setCardNumber(const std::string& cardNumberObj)
{
cardNumber = cardNumberObj;
}
void CreditCard::setCardType(const CardTypeEnum& cardTypeObj)
{
cardType = cardTypeObj;
}
// =========================================
// ===== Enum CardTypeEnum Conversions =====
// =========================================
std::string CreditCard::CardTypeEnumToString(CreditCard::CardTypeEnum value)
{
switch (value)
{
case CardTypeEnum::UNSPECIFIED: return "UNSPECIFIED";
case CardTypeEnum::VISA: return "VISA";
case CardTypeEnum::MASTERCARD: return "MASTERCARD";
case CardTypeEnum::AMEX: return "AMEX";
default: return {};
}
}
CreditCard::CardTypeEnum CreditCard::CardTypeEnumFromString(const std::string& str)
{
if (str == "UNSPECIFIED")
{
return CardTypeEnum::UNSPECIFIED;
}
if (str == "VISA")
{
return CardTypeEnum::VISA;
}
if (str == "MASTERCARD")
{
return CardTypeEnum::MASTERCARD;
}
if (str == "AMEX")
{
return CardTypeEnum::AMEX;
}
throw std::invalid_argument("Invalid enum value");
}
} // namespace models