Saltearse al contenido

Ruteo

Zuno te permite definir rutas HTTP de forma clara y expresiva. Puedes manejar diferentes métodos (GET, POST, etc.), capturar parámetros dinámicos y organizar tus rutas en módulos reutilizables.


app.get("/", [](auto& req, auto& res) {
res.send("Hola desde Zuno");
});

Puedes usar los métodos .get(), .post(), .put(), .del() y más.


Zuno soporta rutas dinámicas con parámetros:

app.get("/saludo/:nombre", [](auto& req, auto& res) {
std::string nombre = req.params["nombre"];
res.send("Hola, " + nombre + "!");
});

Una solicitud a /saludo/Jose responderá con:

Hola, Jose!

Puedes acceder a parámetros de consulta con req.query:

app.get("/buscar", [](auto& req, auto& res) {
std::string q = req.query["q"];
res.send("Buscando: " + q);
});

Una solicitud a /buscar?q=zuno responderá con:

Buscando: zuno

Puedes agrupar rutas en funciones reutilizables:

void registerUserRoutes(zuno::App& app) {
app.get("/users", [](auto& req, auto& res) {
res.json({ { "id", 1 }, { "name", "Alice" } });
});
}

Y luego en main.cpp:

registerUserRoutes(app);


Zuno hace que definir rutas en C++ sea tan natural como en frameworks web modernos—pero con el poder y rendimiento de C++20.