mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-11-25 13:03:44 +00:00
commit c5a0d0f7394aa742fa336fff7e7c1d3049761868
Merge: 8c4991ba3ed f8ff8c87609
Author: William Cheng <wing328hk@gmail.com>
Date: Tue Aug 17 18:28:12 2021 +0800
Merge branch 'mustache-linting' of https://github.com/NathanBaulch/openapi-generator into NathanBaulch-mustache-linting
commit f8ff8c87609b1ca36fa26fb8474806999638195e
Author: Nathan Baulch <nathan.baulch@gmail.com>
Date: Thu Aug 5 14:12:47 2021 +1000
Reorder tags that handle missing values
commit f5d8a33709d6a3f846a9fe4520b78c3d637051d9
Author: Nathan Baulch <nathan.baulch@gmail.com>
Date: Thu Aug 5 14:08:59 2021 +1000
Use dot notation where possible
commit 493d14921e2333f3ae19ef6fc89318b7e263a80c
Author: Nathan Baulch <nathan.baulch@gmail.com>
Date: Thu Aug 5 14:10:49 2021 +1000
Remove empty tags
commit 32480dc53f48227d55531b94e307d72671373737
Author: Nathan Baulch <nathan.baulch@gmail.com>
Date: Thu Aug 5 10:41:58 2021 +1000
Remove redundant sections
commit a8edabd722c34aa094b4aeb11c22664529c3a219
Author: Nathan Baulch <nathan.baulch@gmail.com>
Date: Wed Aug 4 22:02:22 2021 +1000
Trim extra EOF new lines
commit e89bd7458e3594bf0d30e580bc9408e45b018a57
Author: Nathan Baulch <nathan.baulch@gmail.com>
Date: Wed Aug 4 21:59:26 2021 +1000
Trim trailing whitespace
REST API Server for OpenAPI Petstore
Overview
This API Server was generated by the OpenAPI Generator 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 OpenAPI 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 theimplfolder)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 OpenAPI 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
./api-server
Libraries required
- pistache
- JSON for Modern C++: Please download the
json.hppfile and put it under the model/nlohmann folder
Namespaces
org.openapitools.server.api org.openapitools.server.model