Alias
Los alias se utilizan en el api.yaml para pasar a las directivas, parámetros de configuración.
Puedes usar los siguientes alias:
- $.map.NAME_MAP -> array con todo el map.
- $.map.NAME_MAP.NAME_PROPERTY -> el valor de una propiedad de un map.
- $.memory.KEY -> el valor del elemento almacenado en memory para esa key.
- $.memory.KEY.KEY_CHILD -> si $.memory.KEY, hace referencia a un array, puedes seguir bajando niveles, hasta acceder al elemento deseado.
- $.message.headers -> un array con todas las cabeceras en message.
- $.message.header.NAME_HEADER -> un string con el valor de una cabecera concreta.
- $.message.body -> un string con el valor del body en message.
- $.message.bodyAsArray -> un array con el valor del body en message, siempre que el body haya sido enviado como JSON.
- $.message.bodyAsArray.NAME_PROPERTY -> si $.message.bodyAsArray, hace referencia a un array, puedes seguir bajando niveles, hasta acceder al elemento deseado.
- $.message.queryParams -> un array con todos los queryParams en message.
- $.message.queryParam.NAME_QUERY_PARAM -> un string con el valor de un queryParam concreto.
- $.message.pathParams -> un array con todos los pathParams en message.
- $.message.pathParam.NAME_PATH_PARAM -> un string con el valor de un pathParam concreto. Por ejemplo para un endpoint definido así: /user/{id}, podrías acceder al id con $.message.pathParam.id .
- $.message.status -> un integer con el valor del status del message.
- $.message.verb -> un string con el valor del método del message.
- $.memory.hefesto-localhost -> un string con el valor del host local de Hefesto, que incluye organización y entorno. Si quieres hacer llamadas a otra API en el mismo virtual-host, deberías usar esta constante.
- $.memory.hefesto-pathcode -> un string con el path a la API desplegada, si quieres acceder a algún fichero desplegado en tu API, deberías usar esta constante.
- $.memory.hefesto-pathstorage -> un string con el path al espacio en disco para esa API, si quieres almacenar ficheros en tiempo de ejecución y acceder luego a ellos, deberías usar esta constante.
- $.memory.hefesto-org -> un string con el dominio del virtual-host
- $.memory.hefesto-env -> un string con el entorno del virtual-host
- $.memory.hefesto-api -> un string con la key de la API.
Por ejemplo en:
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
Se están usando los siguientes alias:
- $.map.main.key: como parámetro expected, de la directiva CheckKey, se está pasando la propiedad key, del map main.
- $.message.header.api-key: como parámetro current, de la directiva CheckKey, se está pasando la cabecera api-key recibida, usando el message.
- $.message.bodyAsArray: como parámetro source, de la directiva LoadUser, se está pasando el body recibido, usando el message.
- $.memory.user: como parámetro user, de la directiva SaveUser, se está pasando el modelo guardado en memory user.
- $.memory.user.id: como parámetro id, de la directiva IdResponse, se está pasando el id guardado en memory, en el user.
Ir a la home