2022-01-04 15:21:15 +08:00
..
2022-01-04 15:21:15 +08:00
2021-05-18 23:09:59 +08:00
2021-05-18 23:09:59 +08:00
2021-05-18 23:09:59 +08:00
2021-05-18 23:09:59 +08:00
2021-05-18 23:09:59 +08:00

C++ Qt Server

Qt HTTP Server based on the Qhttpengine

This server was generated by the openapi-generator project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.

To see how to make this your own, look here:

README

  • API version: 1.0.0

QHTTPEngine

Build Status MIT License

Simple set of classes for developing HTTP server applications in Qt.

Documentation

To learn more about building and using the library, please visit this page:

Link

Viewing the code

You can view the code using an editor like Microsoft Visual Studio Code or you can Use QtCreator and browse for the root CMakeLists.txt and load it as a project

Build with make

Install the tools [Linux/Debian]

sudo apt install cmake build-essential libssl-dev qtbase5-dev qtbase5-dev-tools git curl

To build, go to the server folder

make

To run the server

./build/src/cpp-qt-qhttpengine-server &

To override the default port via the command line, provide the parameters port and address like below

cpp-qt-qhttpengine-server --port 9080 --address 127.17.0.1

or

cpp-qt-qhttpengine-server -p 9080 -a 127.17.0.1

Invoke an API

curl -X GET    http://localhost:8080/v2/store/inventory
curl -X POST   http://localhost:8080/v2/store/order   -H "Content-Type: application/json" -d "{ \"id\": 22, \"petId\": 1541, \"quantity\": 5, \"shipDate\": \"2018-06-16T18:31:43.870Z\", \"status\": \"placed\", \"complete\": \"true\" }"
curl -X GET    http://localhost:8080/v2/pet/findByStatus
curl -X GET    http://localhost:8080/v2/store/inventory

Run and build with docker

Building with docker multistage If you dont have docker install here Add yourself to the docker group

docker build --network=host -t cpp-qt-qhttpengine-server .

Running with docker

docker run --rm -it --name=server-container cpp-qt-qhttpengine-server

Invoking an API

Mind the IP here

curl -X GET   http://172.17.0.2:8080/v2/store/inventory
curl -X POST  http://172.17.0.2:8080/v2/store/order -H "Content-Type: application/json" -d "{ \"id\": 22, \"petId\": 1541, \"quantity\": 5, \"shipDate\": \"2018-06-16T18:31:43.870Z\", \"status\": \"placed\", \"complete\": \"true\" }"

use this command to get the container IP

docker inspect server-container | grep "IPAddress"

To exit from the command line

Ctrl + p + q

To stop container

docker stop <containername>

or to terminate and quit

Ctrl+C