A recent alternative to REST web services is GraphQL. The QL in the name stands for Query Language. Rather than relying on the server to serialize and present the necessary data, in GraphQL clients query and manipulate the data directly. Apart from the reversal of responsibility, GraphQL also features mechanisms that make it easier to work with data. Typing, static validation, introspection, and schemas are all parts of the specification.
There are server implementations of GraphQL available for a lot of languages including C++. One of the popular implementations is cppgraphqlgen from Microsoft. There are also many tools that help with development and debugging. What's interesting is that you can use GraphQL to query the database directly thanks to products such as Hasura or PostGraphile, which add the GraphQL API on top of a Postgres database.