Formar, aceder e converter mensagens

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Pode usar políticas incluídas no Apigee para manipular as mensagens que fluem através dos seus proxies de API. Com as políticas, pode:

  • Converter mensagens entre formatos, como de XML para JSON.
  • Definir valores de variáveis a partir do conteúdo das mensagens e criar mensagens a partir de valores de variáveis.
  • Use código processual, como JavaScript, Java e Python, para processar mensagens e dados de formas mais complexas.

Em geral, quando usa estas políticas, especifica a entrada e a saída como variáveis de fluxo. Em tempo de execução, o Apigee obtém o valor de entrada de uma variável de origem e escreve o valor de saída numa variável de saída.

Este tópico apresenta estas capacidades. Para informações mais completas e técnicas, consulte as referências às políticas de cada um.

Processamento simples de XML e JSON

O Apigee inclui políticas que facilitam a conversão entre XML e JSON, e a transformação de XML com XSL.

Converter JSON em XML

A política JSONtoXML usa a sua entrada JSON e converte-a em XML.

No exemplo de política seguinte, a política recebe uma mensagem formatada em JSON da variável request e, em seguida, substitui o valor da variável por uma mensagem formatada em XML. A entrada é especificada no elemento <Source>, enquanto a saída é especificada no elemento <OutputVariable>.

<JSONToXML name="jsontoxml">
     <Source>request</Source>                     ---> INPUT
     <OutputVariable>request</OutputVariable>          OUTPUT --->
</JSONToXML>

Converter XML em JSON

A política XMLtoJSON converte a mensagem de entrada XML em JSON.

No exemplo de política seguinte, a política recebe uma mensagem formatada em XML da variável response e, em seguida, substitui o valor da variável por uma mensagem formatada em JSON. A entrada é especificada no elemento <Source>, enquanto a saída é especificada no elemento <OutputVariable>.

<XMLToJSON name="ConvertToJSON">
   <Source>response</Source>                     ---> INPUT
   <OutputVariable>response</OutputVariable>          OUTPUT --->
</XMLToJSON>

Transformar XML com XSL

Pode usar a política XSLTransform para transformar mensagens através de XSL. Por exemplo, depois de converter um payload JSON em XML, pode usar a política de transformação XSL com uma folha de estilos para fazer a transformação de que precisa.

No exemplo de política seguinte, a política recebe uma mensagem formatada em XML da variável response e, em seguida, substitui o valor da variável por uma mensagem formatada por my_transform.xsl. A entrada é especificada no elemento <Source>, enquanto a saída é especificada no elemento <OutputVariable>.

<XSL name="TransformXML">
  <Source>response</Source>                        ---> INPUT
  <ResourceURL>xsl://my_transform.xsl</ResourceURL>       --TRANSFORMER--
  <OutputVariable>response</OutputVariable>                            OUTPUT --->
</XSL>

Processamento de dados variáveis

O processamento de dados num proxy envolve frequentemente trabalhar simplesmente com dados de estado como valores de variáveis de fluxo. Muitas vezes, pode fazê-lo através de uma política que obtém ou define valores de variáveis. Por exemplo, pode querer moldar os valores das variáveis numa mensagem ou extrair o conteúdo de uma mensagem para definir os valores das variáveis.

Certifique-se de que consulta as referências das duas políticas seguintes:

Criar transformações mais complexas

Para o processamento de dados cuja complexidade esteja fora da capacidade das políticas incluídas, pode usar linguagens processuais, como JavaScript, Java ou Python.

Geralmente, isto envolve escrever código num destes idiomas e, em seguida, invocar o código a partir de uma política específica do idioma. Para mais informações, consulte o artigo Incorporar código procedimental.