Usando as Variáveis de um Connector

$headerParam

Para utilizar o valor de um header informado na requisição de uma API via connector, você deve informar na sua instrução o nome da chave do header e utilizar a variável $headerParam.<header key>.

O exemplo abaixo é de uma requisição recebida pela API Platform e que será destinada ao connector:

curl --location --request GET 'https://myserver/myapi/v1' \
--header 'productId: 9c69483b-2953-3e88-a87a-4ad24416d87c'

Nessa requisição, temos um header com a chave productId. Para obter o valor desse header, o $headerParam.productId deve ser utilizado da seguinte forma:

(note que o exemplo é de utilização da variável em um conector SQL)

SELECT
   PRODUCT_NAME
FROM
   PRODUCTS
WHERE
   PRODUCT_ID = $headerParam.productId

E o exemplo abaixo mostra a execução da instrução pelo conector:

SELECT
   PRODUCT_NAME
FROM
   PRODUCTS
WHERE
   PRODUCT_ID = 9c69483b-2953-3e88-a87a-4ad24416d87c

Para informar o valor como string, ele deverá ser passado com aspas simples: '$headerParam.productId'

Na conversão, ficará assim: '9c69483b-2953-3e88-a87a-4ad24416d87c'

$pathParam

Para utilizar o valor de um path param informado na requisição de uma API via connector, você deve informar na sua instrução o nome da chave do path param e utilizar a variável $pathParam.<path param key>.

Como na subseção anterior, o exemplo abaixo é de uma requisição recebida pela API Platform e que será destinada ao connector:

curl --location --request GET 'https://myserver/api/v1/products/560' \
--header 'Authorization: 9c69483b-2953-3e88-a87a-4ad24416d87c'

A requisição acima tem um path param com a chave /products /{productId}. Para obter o valor do path param, o $pathParam.productId deve ser utilizado da seguinte forma:

(exemplo para conector SQL)

SELECT
   PRODUCT_NAME
FROM
   PRODUCTS
WHERE
   PRODUCT_ID = $pathParam.productId

Na execução da instrução pelo connector, teremos:

SELECT
   PRODUCT_NAME
FROM
   PRODUCTS
WHERE
   PRODUCT_ID = 560

Para informar o valor como string, ele deverá ser passado com aspas simples: '$pathParam.productId'

Na conversão, ficará assim: '560'

$queryParam

Para utilizar o valor de um query param informado na requisição de uma API via connector, você deve informar na sua instrução o nome da chave do query param e utilizar a variável $queryParam.<query param key>.

Exemplo de requisição destinada ao connector:

curl --location --request GET 'https://myserver/myapi/v1/products/?productName=teste' \
--header 'Authorization: 9c69483b-2953-3e88-a87a-4ad24416d87c'

Nessa requisição, temos um query param com a chave productName. Para obter seu valor, deve-se utilizar da seguinte forma o $queryParam.productName:

(exemplo de utilização da variável em um conector SQL)

SELECT
   PRODUCT_NAME, PRODUCT_ID, PRICE
FROM
   PRODUCTS
WHERE
   PRODUCT_NAME = '$queryParam.productName'

Na execução da instrução pelo connector, ficará assim:

SELECT
   PRODUCT_NAME, PRODUCT_ID, PRICE
FROM
   PRODUCTS
WHERE
   PRODUCT_NAME = 'test'

$body

Para incluir em um banco de dados valores passados no corpo de uma requisição, você deve informar na sua instrução para um connector as chaves contidas no corpo e utilizar a variável $body.<body key>, como no exemplo abaixo.

Requisição recebida pela API Platform e que será destinada ao connector:

curl --location --request POST 'https://myserver/myapi/v1/products' \
--header 'Authorization: 9c69483b-2953-3e88-a87a-4ad24416d87c' \
--header 'Content-Type: application/json' \
--data-raw '{
    "productName": "test",
    "productPrice": "10.00"
}'

Na requisição acima, o corpo contém as chaves productName e productPrice. É possível inserir seus valores no banco de dados da seguinte forma:

(exemplo de utilização da variável em um conector SQL)

INSERT INTO PRODUCTS (PRODUCT_NAME, PRICE) VALUES ('$body.productName', '$body.productPrice');

Na execução da instrução pelo connector, teremos:

INSERT INTO PRODUCTS (PRODUCT_NAME, PRICE) VALUES ('test', '10.00');
Thanks for your feedback!
EDIT
How useful was this article to you?