Alias
Los alias se utilizan en el api.yaml para pasar a las directivas parámetros de configuración sin escribir código PHP. Los alias comienzan siempre con $..
Tabla de alias
- $.map.NOMBRE → Array completo del map.
- $.map.NOMBRE.PROPIEDAD → Valor de una propiedad dentro del map.
- $.memory.CLAVE → Valor guardado en memory.
- $.memory.CLAVE.HIJO → Acceso anidado a arrays/objetos en memory.
- $.message.headers → Array de todas las cabeceras.
- $.message.header.NOMBRE → Valor de una cabecera concreta.
- $.message.body → Body como string.
- $.message.bodyAsArray → Body como array (si es JSON).
- $.message.bodyAsArray.PROP → Propiedad dentro del body.
- $.message.queryParams → Array de query params.
- $.message.queryParam.NOMBRE → Valor de un query param.
- $.message.pathParams → Array de path params.
- $.message.pathParam.NOMBRE → Valor de un path param.
- $.message.status → Código de estado HTTP actual.
- $.message.verb → Método HTTP (GET, POST, etc.).
Variables globales del sistema
- $.memory.hefesto-localhost → Host local para llamadas entre APIs.
- $.memory.hefesto-pathcode → Ruta del código desplegado de la API.
- $.memory.hefesto-pathstorage → Ruta al espacio de almacenamiento.
- $.memory.hefesto-org → Dominio del virtual-host.
- $.memory.hefesto-env → Entorno (dev, pro, etc.).
- $.memory.hefesto-api → Key de la API.
Ejemplo completo
key: poems
before:
CheckKey:
directive: CheckKey
expected: $.map.main.key
current: $.message.header.api-key
endpoints:
post /user:
LoadUser:
directive: LoadAndValidateModel
source: $.message.bodyAsArray
target: user
Connect:
directive: DatabaseConnect
SaveUser:
directive: SaveUser
user: $.memory.user
IdResponse:
directive: IdResponse
id: $.memory.user.id
En este ejemplo se usan los siguientes alias:
- $.map.main.key: lee la clave de seguridad del map
main. - $.message.header.api-key: lee la cabecera
api-keyenviada por el cliente. - $.message.bodyAsArray: pasa el body JSON recibido como array.
- $.memory.user: pasa el usuario almacenado en memory tras la validación.
- $.memory.user.id: accede a la propiedad
iddel objeto guardado en memory.