Como restringir, acessar e converter mensagens

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

É possível usar políticas incluídas no Apigee para manipular as mensagens que passam pelos proxies da API. Com as políticas, você pode:

  • Converter mensagens entre formatos, por exemplo, de XML para JSON.
  • Definir valores de variável do conteúdo da mensagem e crie mensagens a partir de valores variáveis.
  • Usar código processual, como JavaScript, Java e Python, para lidar com mensagens e dados de maneiras mais complexas.

Em geral, ao usar essas políticas, você especifica a entrada e a saída como variáveis de fluxo. No ambiente de execução, a Apigee recupera o valor de entrada de uma variável de origem e grava o valor de saída em uma variável de saída.

Este tópico apresenta esses recursos. Para mais informações técnicas e completas, consulte as referências de política de cada um.

Processamento simples para XML e JSON

A Apigee inclui políticas que facilitam a conversão entre XML e JSON e para transformar XML com XSL.

Como converter JSON em XML

A política JSONtoXML converte a entrada JSON em XML.

No exemplo de política a seguir, a política usa uma mensagem formatada em JSON da variável request e 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>

Como converter XML em JSON

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

No exemplo de política a seguir, a política usa uma mensagem formatada em XML da variável response e 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>

Como transformar XML com XSL

Use a política de XSLTransform para transformar mensagens usando o XSL. Por exemplo, após a conversão de um payload JSON em XML, é possível usar a política de transformação XSL com uma folha de estilo para executar a transformação necessária.

No exemplo de política a seguir, a política usa uma mensagem formatada em XML da variável response e 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>

Como processar dados variáveis

O gerenciamento de dados em um proxy geralmente envolve apenas o trabalho com dados de estado como valores de variável de fluxo. Geralmente, isso é feito usando uma política que obtém ou define valores variáveis. Por exemplo, é possível moldar valores de variáveis em uma mensagem ou extrair o conteúdo de uma mensagem para definir valores variáveis.

Consulte as referências para as duas políticas a seguir:

Como criar transformações mais complexas

Para o processamento de dados com complexidade fora da capacidade das políticas incluídas, use linguagens procedurais como JavaScript, Java ou Python.

Geralmente, isso envolve a gravação do código em um desses idiomas e, em seguida, a invocação do código a partir de uma política específica para a linguagem. Para saber mais, consulte Como incorporar código processual.