openapi-generator/samples/server/petstore/pistache-server
Sebastiano Miano 1eadb4201b Pistache server (#6189)
* Added C++ generator for Pistache

* Revert of CodegenOperation

* Updated template

* Removed isRestful from method declaration

* Updated httpMethod variable

* Changed isRestfulCreate

* Updated pistache library name

* Update pistache petstore sample with the new library name
2017-07-27 14:56:56 +08:00
..
.swagger-codegen Pistache server (#6189) 2017-07-27 14:56:56 +08:00
api Pistache server (#6189) 2017-07-27 14:56:56 +08:00
impl Pistache server (#6189) 2017-07-27 14:56:56 +08:00
model [CPP] Fixing some more ordering of checks (#5951) 2017-07-02 22:30:42 +08:00
.swagger-codegen-ignore [C++] Server Stub Code Generator based on Pistache (#5838) 2017-06-14 22:40:00 +08:00
CMakeLists.txt Pistache server (#6189) 2017-07-27 14:56:56 +08:00
PetApiMainServer.cpp Pistache server (#6189) 2017-07-27 14:56:56 +08:00
README.md [C++] Server Stub Code Generator based on Pistache (#5838) 2017-06-14 22:40:00 +08:00
StoreApiMainServer.cpp Pistache server (#6189) 2017-07-27 14:56:56 +08:00
UserApiMainServer.cpp Pistache server (#6189) 2017-07-27 14:56:56 +08:00

REST API Server for Swagger Petstore

Overview

This API Server was generated by the swagger-codegen project. It uses the Pistache Framework.

Files organization

The Pistache C++ REST server generator creates three folders:

  • api: This folder contains the handlers for each method specified in the swagger definition. Every handler extracts the path and body parameters (if any) from the requests and tries to parse and possibly validate them. Once this step is completed, the main API class calls the corresponding abstract method that should be implemented by the developer (a basic implementation is provided under the impl folder)
  • impl: As written above, the implementation folder contains, for each API, the corresponding implementation class, which extends the main API class and implements the abstract methods. Every method receives the path and body parameters as constant reference variables and a reference to the response object, that should be filled with the right response and sent at the end of the method with the command: response.send(returnCode, responseBody, [mimeType])
  • model: This folder contains the corresponding class for every object schema found in the swagger specification.

The main folder contains also a file with a main that can be used to start the server. Of course, is you should customize this file based on your needs

Installation

First of all, you need to download and install the libraries listed here.

Once the libraries are installed, in order to compile and run the server please follow the steps below:

mkdir build
cd build
cmake ..
make

Once compiled run the server:

cd build
./server

Libraries required

Namespaces

io::swagger::server::api

io::swagger::server::model