forked from loafle/openapi-generator-original
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
49 lines
1.0 KiB
C++
49 lines
1.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.
|
|
*/
|
|
|
|
#pragma once
|
|
// System headers
|
|
#include <nlohmann/json.hpp>
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace models {
|
|
|
|
|
|
class Address
|
|
{
|
|
public:
|
|
|
|
Address();
|
|
virtual ~Address() = default;
|
|
|
|
// Getters and setters
|
|
[[nodiscard]] std::string getStreet() const;
|
|
void setStreet(const std::string& street);
|
|
[[nodiscard]] std::string getCity() const;
|
|
void setCity(const std::string& city);
|
|
[[nodiscard]] std::string getZipCode() const;
|
|
void setZipCode(const std::string& zipCode);
|
|
[[nodiscard]] std::string getCountry() const;
|
|
void setCountry(const std::string& country);
|
|
|
|
|
|
// JSON serialization using NLOHMANN INTRUSIVE macro (must be inside class to access private members)
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(Address,
|
|
street, city, zipCode, country)
|
|
|
|
private:
|
|
std::string street;
|
|
std::string city;
|
|
std::string zipCode;
|
|
std::string country;
|
|
};
|
|
|
|
|
|
} // namespace models
|
|
|