forked from loafle/openapi-generator-original
REST API Server for OpenAPI Petstore
Overview
This API Server was generated by the OpenAPI Generator project. It uses the Restbed Framework.
Installation
Put the package under your project folder and import the API stubs. You need to complete the server stub, as it needs to be connected to a source.
Libraries required
boost_system ssl (if Restbed was built with SSL Support) crypto pthread restbed
Namespaces
org.openapitools.server.api org.openapitools.server.model
Example
The handler functionality can be implemented in two different ways. Either inherit the given resource and override the handler methods. Or set a handler lambda to a resource.
This example shows how this can be done with the pet store API.
#include "api/StoreApi.h"
#include "api/UserApi.h"
using namespace org::openapitools::server::api;
using namespace org::openapitools::server::api::StoreApiResources;
using namespace org::openapitools::server::api::UserApiResources;
/* 1. variant: inherit from the resource and override handler method */
class MyStoreApiStoreOrderResource : public StoreOrderResource {
public:
std::pair<int, Order>
handler_POST(Order &order) override {
auto ret = Order();
/* ... add your implementation here .... */
return std::make_pair(200, ret);
}
};
int main() {
const auto service = std::make_shared<restbed::Service>();
auto storeApi = StoreApi(service);
storeApi.setResource(std::make_shared<MyStoreApiStoreOrderResource>());
auto userApi = UserApi(service);
/* 2. variant: implement handler as lambda */
userApi.getUserResource()->handler_POST_func = [](auto& user) {
/* ... add your implementation here .... */
return 200;};
const auto settings = std::make_shared<restbed::Settings>();
settings->set_port(1236);
service->start(settings);
}