Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Java çağrısı nedir?
Java açıklama metinleri konusunda yeniyseniz Java açıklama metinleri nasıl oluşturulur? açıklama metni).
Java çağrısında özellik kullanma
Özellikler, erişebileceğiniz bir Java çağrı politikasında ad/değer çiftleri belirtebilmenizi sağlar. yardımcı olur. Her mülk için bir dize değeri belirtmelisiniz; şunu yapamaz: referans akış değişkenlerini ifade eder.
Şimdi, özellikleri kullanan basit bir Java açıklama metni örneğinin üzerinden geçelim. Bu örnekte
Java çağrı politikası içeren bir proxy oluşturun. Bu politika,
<Properties>
öğesi. Java kodunda,
değeri almalı ve bunu kullanarak bir yanıt başlığı ayarlamalıdır.
Projeyi indirme
İşleri kolaylaştırmak için bu projeyi aşağıdaki Apigee api-platform-samples deposundan indirebilirsiniz: GitHub.
- api-platform-samples öğesini sisteminize indirin veya klonlayın.
- Tercih ettiğiniz bir terminalde veya kod düzenleyicide
api-platform-samples/doc-samples/java-properties
projesi.
Java çağrı politikası
Politika, <Properties>
öğesini kullanır. Bu öğe,
Ad/değer çiftlerinin bir örneğini görebilirsiniz. Çalışma zamanında, Java kodunuz şu sayfada belirtilen özelliklerin değerlerine erişebilir:
birazdan görülecek biçimde değiştirebilirsiniz.
<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>
Örnek Java kodu
Bu örneğin Java kodu,
Java çağrı politikası. Örnek projede kaynak kodu şu konumda bulabilirsiniz:
java-properties/callout/src/main/java/JavaProperties.java
Adım adım rehberlikle
adımlarına göz atın.
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; } } }.
Kodunuzu Maven ile derleyin
Proje, Maven ile derleyebileceğiniz şekilde ayarlanmıştır. Raporlarınızda
javac
, bir örnek de ekleriz.
- Maven'in yüklü olduğundan emin olun:
mvn -version
. java-properties/buildsetup.sh
komut dosyasını yürütün. Bu komut dosyası yerel Maven deponuzda gerekli JAR bağımlılıklarını test edin.- cd'yi
java-properties/callout
dizinine ekleyin. - Maven'i yürütme:
mvn clean package
. - İsterseniz JAR dosyasının
edge-custom-policy-java-properties.jar
olduğunu doğrulayın.java-properties/apiproxy/resources/java
klasörüne kopyalandı. Bu, gerekli proxy ile dağıtmak istediğiniz JAR dosyalarının konumunu belirtin.
Javac ile derle (isteğe bağlı)
Kodu derlemek için javac
kullanmak isterseniz şuna benzer bir işlem yapabilirsiniz:
(java-properties
dizininden). Gerekli JAR dosyaları sağlanmış
sizin için java-properties/lib
dizininde bulabilirsiniz.
- cd'yi
api-platform-samples/doc-samples/java-properties
konumuna ekleyin. - Yolunuzda javac bulunduğundan emin olun.
javac -version
- Aşağıdaki javac komutunu yürütün:
.javac -d . -classpath ./lib/expressions-1.0.0.jar:./lib/message-flow-1.0.0.jar:. callout/src/main/java/JavaProperties.java
- JAR dosyası oluşturun:
.jar -cvf edge-custom-policy-java-properties.jar ./com/apigeesample/JavaProperties.class
- JAR dosyasını apiproxy/resources/java dizinine kopyalayın. Bu, gerekli konumdur
proxy ile dağıtmak istediğiniz JAR dosyaları içindir.
cp edge-custom-policy-java-properties.jar apiproxy/resources/java
Proxy'yi dağıtma ve çağırma
./java-properties
dizininde bir dağıtım komut dosyası sağlandı. Ancak sizden önce
çalıştırmak istiyorsanız hızlı bir kurulum yapmanız gerekir.
- cd'den
api-platform-samples/doc-samples/java-properties
'ye - Henüz yapmadıysanız
../../setup/setenv.sh
dosyasını açın ve düzenleyin Apigee hesap bilgilerinizle birlikte belirtildiği gibi: kullanıcı adınız (e-posta adresi hesabınızla ilişkilendirilen), kuruluşunuzun adı ve API oluşturmak için kullandığınız alan adı yönetim çağrıları. Örneğin, Edge Cloud için alanhttps://api.enterprise.apigee.com
; ancak dilerseniz kullanarak giriş yapın. setenv.sh
dosyasını kaydedin.- Dağıtım komut dosyasını yürütün:
./deploy.sh
. - Dağıtım başarılı olursa çağrı komut dosyasını yürütün:
./invoke.sh
.Çağrı komut dosyası şuna benzer bir cURL komutu çağırır:
curl http://$org-$env.$api_domain/java-properties
Proxy şu üstbilgiyi döndürür:
X-PROPERTY-HELLO: WORLD!
. Bu politikasına bir özellik adı/değer çifti ("prop/WORLD!"
) ekledik. Java açıklama metni"WORLD!"
değerini alır veX-PROPERTY-HELLO
:messageContext.getMessage().setHeader("X-PROPERTY-HELLO", this.properties.get("prop"));