← Todos los tutoriales
web-app 5 min

Parámetros de Ruta

Los parámetros de ruta permiten que un endpoint gestione muchas URLs. Define /greet/:name en tu ruta y req.param("name") te da lo que el visitante escribió en ese segmento. Sin cadenas de if, sin parseo de URL — solo declara y lee.

Agrega dos puntos antes de un nombre de segmento para convertirlo en un parámetro:

endpoints server:\n    GET "/greet/:name" :\n        string name = req.param("name")\n        string msg = "Hello, " + name + "!"\n        return http.respond(200, "text/plain", msg)
GET /greet/alice  → Hello, alice!\nGET /greet/world  → Hello, world!

req.param("name") lee el segmento :name de la URL. El string que pasas a req.param debe coincidir con lo que escribiste en la ruta después de los dos puntos.

Los parámetros siempre son strings. Conviértelos cuando necesites un número:

    GET "/items/:id" :\n        string id_str = req.param("id")\n        integer id = id_str.toInteger()\n        string msg = "Loading item " + id.toString() + " of " + (id * 100).toString()\n        return http.respond(200, "text/plain", msg)
GET /items/3  → Loading item 3 of 300

req.param() siempre devuelve un string. Llama a .toInteger() o .toNumber() para convertirlo para matemáticas o comparaciones. Usa .toString() para convertirlo de vuelta al construir una respuesta.

Resumen rápido

  • /ruta/:segmento captura ese segmento de URL como un parámetro con nombre
  • req.param("segmento") lee el valor capturado — siempre devuelve un string
  • Convierte con .toInteger() o .toNumber() cuando necesites aritmética
  • Múltiples parámetros funcionan: /posts/:year/:slug usa dos llamadas a req.param()
¡Copiado!