Rutas y CRUD
Las rutas son los puntos de entrada de su API. Están agrupadas por recurso, y puede escribirlas a mano o generarlas desde un modelo.

Definir una ruta
Section titled “Definir una ruta”Una ruta lleva un método, una ruta, unos parámetros y unas
respuestas. La ruta utiliza la sintaxis {{param}} de Restorm: en cuanto
escribe {{id}} en la ruta, el parámetro correspondiente aparece; retirarlo
lo suprime.
Los parámetros
Section titled “Los parámetros”La pestaña Definición de una ruta enumera sus parámetros — los parámetros de
ruta (creados a partir de los placeholders {{param}}) y los parámetros de
consulta / cabecera que añade con Añadir un parámetro. Cada uno lleva un
nombre, una ubicación (en), su carácter requerido, una descripción y,
opcionalmente, un ejemplo.
La celda Tipo es un combo: elija un primitivo (string, integer, number,
boolean) o uno de los enums con nombre del diseño en un solo clic. Para los
casos más ricos, elija Advanced… para abrir un pequeño cuadro de diálogo donde
puede:
- hacer del parámetro un array y elegir su tipo de elemento
(
array<string>, …) — un parámetro de consulta multivalor; - darle valores de enum inline (el conjunto permitido, enumerado en chips) cuando no está tipado por un enum con nombre;
- Extraer a un enum con nombre — promover esos valores inline a un enum compartido (véase Modelos y enums).
Un parámetro también puede estar vinculado a una propiedad de modelo (columna Enlace de modelo), de la que hereda el tipo, o marcarse como obsoleto. Cada parámetro — su tipo, su enum, su obsolescencia — se refleja en la documentación generada y en cada proyección de protocolo.
Generar el CRUD
Section titled “Generar el CRUD”Desde los ajustes de un modelo, Generar el CRUD crea con un clic un grupo de rutas nombrado según el plural del modelo, con seis rutas:
| Ruta | Método y ruta | Respuestas |
|---|---|---|
| Listar | GET / (paginado) | 200 |
| Recuperar | GET /{{id}} | 200 · 404 |
| Crear | POST / | 201 |
| Reemplazar | PUT /{{id}} | 200 · 404 |
| Actualizar | PATCH /{{id}} | 200 · 404 |
| Eliminar | DELETE /{{id}} | 204 · 404 |
La lista está paginada (desplazamiento/offset, 20 elementos por defecto, 100 como
máximo). Cada {{id}} se vincula automáticamente al identificador del
modelo.
El cuadro de diálogo Generar el CRUD ofrece dos opciones:
- Reemplazar las rutas existentes — para evitar duplicados si regenera.
- Proteger las rutas de escritura mediante autenticación — la creación, el reemplazo, la actualización y la eliminación exigen entonces un token (bearer), mientras que las lecturas permanecen públicas.
También recuerda que el CRUD se sirve en cada protocolo: rutas REST, consultas y mutaciones GraphQL, métodos gRPC, conjunto de entidades OData y operaciones SOAP (véase Servir el diseño como mock).
Generar las rutas de búsqueda
Section titled “Generar las rutas de búsqueda”Para cada propiedad marcada como searchable, Generar las rutas de búsqueda añade un parámetro de consulta vinculado a la ruta de listado del modelo (y crea esa ruta si aún no existe).
Autenticación
Section titled “Autenticación”La autenticación se configura en tres niveles: un valor por defecto del diseño, una autenticación requerida por grupo, y un reemplazo por ruta (que hereda del grupo por defecto). Los modos disponibles son Ninguno, Bearer (JWT), Clave de API (cabecera) y Basic.
Las etiquetas
Section titled “Las etiquetas”Las etiquetas agrupan las rutas para la documentación y la exportación OpenAPI. Viven en dos niveles: una ruta lleva sus propias etiquetas (su pestaña Definición), y un grupo lleva etiquetas compartidas (sus ajustes) aplicadas a cada una de sus rutas. Las etiquetas efectivas de una ruta son la unión de ambas — por eso una etiqueta común a todo un grupo se pone preferiblemente una sola vez en el grupo. Cuando convierte una API importada en un diseño, una etiqueta presente en todas las rutas de un grupo se eleva automáticamente al grupo.
La obsolescencia
Section titled “La obsolescencia”Una ruta (como una propiedad o un parámetro) puede marcarse como obsoleta
desde sus Ajustes. Una ruta obsoleta aparece atenuada en la lista de
Rutas y en los clientes generados, y lleva un aviso de obsolescencia en su
pestaña. La bandera se propaga a cada proyección de protocolo — el deprecated
de OpenAPI, la directiva @deprecated de GraphQL, los descriptores SOAP y gRPC,
y los metadatos OData — para que los consumidores de cualquier protocolo servido
la vean.