Have you noticed oatpp ApiClient (retrofit-like client wrapper)?
This is another trick oatpp's ObjectMapper layer can do.
The oatpp-consul client is built using oatpp ApiClient. see ApiClient in the oatpp-consul https://github.com/oatpp/oatpp-consul/blob/master/rest/Clien...
example how to do client requests https://github.com/oatpp/oatpp-examples/issues/3
It is also possible to build your own RequestExecutor based on ex. Curl