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
47 lines
957 B
C++
47 lines
957 B
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 <cstdint>
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace models {
|
|
|
|
|
|
class SimpleObject
|
|
{
|
|
public:
|
|
|
|
SimpleObject();
|
|
virtual ~SimpleObject() = default;
|
|
|
|
// Getters and setters
|
|
[[nodiscard]] int getId() const;
|
|
void setId(const int& id);
|
|
[[nodiscard]] std::string getName() const;
|
|
void setName(const std::string& name);
|
|
[[nodiscard]] std::string getDescription() const;
|
|
void setDescription(const std::string& description);
|
|
|
|
|
|
// JSON serialization using NLOHMANN INTRUSIVE macro (must be inside class to access private members)
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(SimpleObject,
|
|
id, name, description)
|
|
|
|
private:
|
|
int id;
|
|
std::string name;
|
|
std::string description;
|
|
};
|
|
|
|
|
|
} // namespace models
|
|
|