Translate

miércoles, 9 de abril de 2025

Cómo crear un Servicio REST en C++


Aunque C++ no es el primer lenguaje que se nos viene a la cabeza cuando hablamos de servicios web, existen varias bibliotecas que nos permiten construir APIs RESTful de manera sencilla y eficiente. En este post te muestro cómo hacerlo utilizando Crow, una de las librerías más populares para este propósito.

Crow es una microframework para C++ similar a Flask (Python) o Express (Node.js). Es ligera, rápida y permite definir rutas y manejar peticiones HTTP con facilidad.

Vamos a necesitar: 

  • Un compilador moderno compatible con C++17 o superior.
  • CMake (versión 3.14 o superior).


Si usás vcpkg podés instalar Crow fácilmente:

vcpkg install crow


O podés clonar el repositorio:


git clone https://github.com/CrowCpp/crow.git


Veamos un hola mundo : 


#include "crow_all.h"


int main()

{

    crow::SimpleApp app;


    CROW_ROUTE(app, "/")([](){

        return "¡Hola, mundo desde C++!";

    });


    CROW_ROUTE(app, "/suma/<int>/<int>")([](int a, int b){

        return crow::response(std::to_string(a + b));

    });


    app.port(18080).multithreaded().run();

}


¿Qué hace este código?

Define dos rutas: `/` y `/suma/{a}/{b}`.

Devuelve texto plano como respuesta.

Usa crow::SimpleApp para levantar un servidor en el puerto `18080`.


Compilamos con CMake


cmake_minimum_required(VERSION 3.14)

project(servicio_rest_cpp)


set(CMAKE_CXX_STANDARD 17)


add_executable(servicio_rest main.cpp)

target_include_directories(servicio_rest PRIVATE /ruta/a/crow)


Luego:

mkdir build && cd build

cmake ..

make

./servicio_rest


Y ya podés acceder a http://localhost:18080/.

C++ no se queda atrás cuando se trata de crear servicios REST. Con herramientas como Crow, podés construir APIs eficientes, con alto rendimiento y mantenerte en el ecosistema de C++. Perfecto para integrarse con sistemas existentes o para casos donde el rendimiento es crítico.


Dejo link: 

https://crowcpp.org/master/