Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da Apigee Edge.
O que é uma frase de destaque do Java?
Se você é iniciante nas chamadas do Java, comece com Como criar uma frase de destaque Java.
Como usar propriedades em uma frase de destaque do Java
As propriedades permitem especificar pares de nome/valor em uma política de frase de destaque Java que pode ser acessada a partir do seu código Java no ambiente de execução. Você precisa especificar um valor de string literal para cada propriedade. Não é possível referenciar variáveis de fluxo neste elemento.
Veja um exemplo simples de chamada Java que usa propriedades. Neste exemplo,
criamos um proxy com uma política de frase de destaque Java. A política usa o
elemento <Properties>
para especificar um par de nome/valor. No código Java,
recuperamos o valor e o usamos para definir um cabeçalho de resposta.
Fazer o download do projeto
Para simplificar, faça o download deste projeto do repositório api-platform-samples da Apigee no GitHub.
- Faça o download ou clone api-platform-samples no seu sistema.
- Em um terminal ou editor de código de sua escolha, acesse o projeto
api-platform-samples/doc-samples/java-properties
.
Política de chamadas do Java
A política usa o elemento <Properties>
. Esse elemento permite especificar
pares de nome/valor. No ambiente de execução, seu código Java pode acessar os valores das propriedades especificadas na
política, como veremos em breve.
<JavaCallout name="java-callout"> <ClassName>com.apigeesample.JavaProperties</ClassName> <ResourceURL>java://edge-custom-policy-java-properties.jar</ResourceURL> <Properties> <Property name="prop">WORLD!</Property> </Properties> </JavaCallout>
A amostra de código Java
O código Java dessa amostra mostra como recuperar uma propriedade que foi especificada na
política de frase de destaque Java. No projeto de amostra, você encontra o código-fonte em
java-properties/callout/src/main/java/JavaProperties.java
. Mostraremos as
etapas para compilar e implantar esse código posteriormente neste tópico.
package com.apigeesample; import com.apigee.flow.execution.ExecutionContext; import com.apigee.flow.execution.ExecutionResult; import com.apigee.flow.execution.spi.Execution; import com.apigee.flow.message.MessageContext; import java.util.Map; public class JavaProperties implements Execution { private Map <String,String> properties; // read-only public JavaProperties(Map <String,String> properties) { this.properties = properties; } public ExecutionResult execute(MessageContext messageContext, ExecutionContext executionContext) { try { messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop")); return ExecutionResult.SUCCESS; } catch (Exception e) { return ExecutionResult.ABORT; } } }
Compilar o código com o Maven
O projeto é configurado para que você possa compilar com o Maven. Se você quiser usar
javac
, incluiremos um exemplo também.
- Verifique se você tem o Maven instalado:
mvn -version
- Execute o script a
java-properties/buildsetup.sh
. Esse script instala as dependências JAR necessárias no seu repositório Maven local. - cd para o diretório
java-properties/callout
. - Execute o Maven:
mvn clean package
- Se você quiser, verifique se o arquivo JAR
edge-custom-policy-java-properties.jar
foi copiado parajava-properties/apiproxy/resources/java
. Esse é o local necessário para os arquivos JAR que você quer implantar com um proxy.
Compilar com javac (opcional)
Se você quiser usar javac
para compilar o código, faça algo semelhante
ao seguinte (do diretório java-properties
). Os arquivos JAR necessários são fornecidos
a você no diretório java-properties/lib
.
- cd para
api-platform-samples/doc-samples/java-properties
. - Verifique se você tem javac no seu caminho.
javac -version
- Execute o seguinte comando javac:
javac -d . -classpath ./lib/expressions-1.0.0.jar:./lib/message-flow-1.0.0.jar:. callout/src/main/java/JavaProperties.java
- Crie um arquivo JAR:
jar -cvf edge-custom-policy-java-properties.jar ./com/apigeesample/JavaProperties.class
- Copie o arquivo JAR para o diretório apiproxy/resources/java. Esse é o local necessário
para os arquivos JAR que você quer implantar com um proxy.
cp edge-custom-policy-java-properties.jar apiproxy/resources/java
Implantar e chamar o proxy
Um script de implantação é fornecido no diretório ./java-properties
. Mas, antes de
executá-lo, você precisa fazer uma configuração rápida.
- cd para
api-platform-samples/doc-samples/java-properties
- A maneira mais simples de implantar o proxy é agrupá-lo em um arquivo ZIP e fazer upload do pacote de proxy em um ambiente na sua organização da Apigee. Consulte Como criar um proxy de API. Use a opção Fazer upload de pacote de proxy. Veja também Dicas e truques para fazer upload de proxy de API em um pacote proxy na comunidade Apigee.
- Quando o proxy estiver implantado, tente chamá-lo:
curl https://$HOSTNAME/java-properties
O proxy retorna o cabeçalho:
X-PROPERTY-HELLO: WORLD!
. Não se esqueça de que adicionamos na política um par de nome/valor de propriedade"prop/WORLD!"
. A frase de destaque Java recupera o valor"WORLD!"
e o define em um cabeçalho chamadoX-PROPERTY-HELLO
:messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop"));