คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
หากคุณกำลังลองใช้ข้อความเสริมของ Java เป็นครั้งแรก เราขอแนะนำให้คุณเริ่มต้นด้วยวิธีสร้าง Java ข้อความไฮไลต์
ตัวอย่างตำราอาหารนี้สาธิตวิธีสร้างนโยบาย JavaScript แบบง่ายที่เรียกใช้ รหัส Java ที่กำหนดเองภายในบริบทของโฟลว์พร็อกซี
โค้ดตัวอย่างทำหน้าที่อะไร
พร็อกซี API ในตัวอย่างนี้เรียกใช้บริการเป้าหมายที่ส่งคืนการตอบกลับ JSON แบบง่าย ระบบวางนโยบายการเรียก Java ไว้ในขั้นตอนการตอบสนองเป้าหมาย โค้ด Java จะแปลงส่วนหัวและ เนื้อหาการตอบกลับอักษรตัวพิมพ์ใหญ่ ตัวอย่างเช่น แต่ก็จะแสดงให้เห็นว่า เพื่อรับโค้ด Java ที่กำหนดเองซึ่งทํางานในบริบทของพร็อกซี API บน Edge
ดูตัวอย่าง
ดาวน์โหลดโปรเจ็กต์
เพื่อความสะดวก คุณสามารถดาวน์โหลดโปรเจ็กต์นี้จากที่เก็บ api-platform-samples ของ Apigee ใน GitHub
- ดาวน์โหลดหรือโคลน api-platform-samples ลงในระบบของคุณ
- ในเทอร์มินัลหรือตัวแก้ไขโค้ดที่คุณเลือก ให้ไปที่
api-platform-samples/doc-samples/java-cookbook
โปรเจ็กต์
คอมไพล์โค้ดด้วย Maven
โปรเจ็กต์ได้รับการตั้งค่าเพื่อให้คุณคอมไพล์ด้วย Maven ได้ หากคุณต้องการใช้งาน
javac
เราจะแสดงตัวอย่างต่อไปนี้จากตัวอย่างของ Maven
- ตรวจสอบว่าคุณได้ติดตั้ง Maven แล้ว ดังนี้
mvn -version
- เรียกใช้สคริปต์
java-cookbook/buildsetup.sh
สคริปต์นี้จะติดตั้ง ทรัพยากร Dependency ของ JAR ที่จำเป็นในที่เก็บ Maven ในเครื่อง - cd ไปยังไดเรกทอรี
java-cookbool/callout
- ดำเนินการ Maven:
mvn clean package
- หากต้องการ ให้ตรวจสอบว่าไฟล์ JAR
edge-custom-policy-java-cookbook.jar
เดิมคือ คัดลอกไปยังjava-cookbook/apiproxy/resources/java
แล้ว นี่คือตำแหน่งที่จำเป็นสำหรับ ไฟล์ JAR ที่ต้องการทำให้ใช้งานได้ด้วยพร็อกซี
คอมไพล์ด้วย Javac
หากต้องการใช้ javac
เพื่อคอมไพล์โค้ด คุณสามารถใช้วิธีที่คล้ายกับ
การติดตาม (จากไดเรกทอรี java-cookbook
) ได้รับไฟล์ JAR ที่จำเป็นแล้ว
ให้คุณในไดเรกทอรี java-cookbook/lib
- CD ถึง
api-platform-samples/doc-samples/java-cookbook
- ตรวจสอบว่าคุณมี Javac ในเส้นทางของคุณ
javac -version
- เรียกใช้คำสั่ง Javac ต่อไปนี้:
วันที่javac -d . -classpath ./lib/expressions-1.0.0.jar:./lib/message-flow-1.0.0.jar:. callout/src/main/java/ResponseUppercase.java
- คัดลอกไฟล์ JAR ไปยังไดเรกทอรี apiproxy/resources/java นี่คือสถานที่ที่กำหนด
สำหรับไฟล์ JAR ที่ต้องการทำให้ใช้งานได้ด้วยพร็อกซี
cp com/apigeesample/ResponseUppercase.class apiproxy/resources/java
ทำให้ใช้งานได้และเรียกใช้พร็อกซี
สคริปต์การทำให้ใช้งานได้จะอยู่ในไดเรกทอรี ./java-cookbook
แต่ก่อนที่คุณจะวิ่ง
คุณจำเป็นต้องตั้งค่าอย่างรวดเร็ว
- CD ถึง
api-platform-samples/doc-samples/java-cookbook
- หากยังไม่ได้ดำเนินการ ให้เปิดไฟล์
../../setup/setenv.sh
และแก้ไข ตามที่ระบุด้วยข้อมูลบัญชี Apigee ของคุณ นั่นคือชื่อผู้ใช้ของคุณ (ที่อยู่อีเมล ที่เชื่อมโยงกับบัญชีของคุณ) ชื่อองค์กร และโดเมนที่คุณใช้สร้าง API การโทรเพื่อการจัดการ ตัวอย่างเช่น โดเมนสำหรับระบบคลาวด์ Edgehttps://api.enterprise.apigee.com
; แต่โดเมนของคุณอาจแตกต่างออกไปหากคุณ โดยใช้ Edge Private Cloud - บันทึกไฟล์
setenv.sh
- เรียกใช้สคริปต์การทำให้ใช้งานได้:
./deploy.sh
- หากการปรับใช้สำเร็จ ให้เรียกใช้สคริปต์เรียกใช้:
./invoke.sh
สคริปต์การเรียกใช้จะเรียกคำสั่ง cURL ที่มีลักษณะดังนี้
curl http://$org-$env.$api_domain/java-cookbook/json
คำตอบจะมีลักษณะดังนี้
< HTTP/1.1 200 OK < Date: Tue, 09 May 2017 20:31:08 GMT < Content-Type: APPLICATION/JSON; CHARSET=UTF-8 < Content-Length: 68 < Connection: keep-alive < Access-Control-Allow-Origin: * < ETag: W/"44-RA5ERT/MMLIK54NVBWBSZG" < X-Powered-By: APIGEE < Server: Apigee Router < * Curl_http_done: called premature == 0 * Connection #0 to host willwitman-test.apigee.net left intact {"FIRSTNAME":"JOHN","LASTNAME":"DOE","CITY":"SAN JOSE","STATE":"CA"}
ขั้นตอนการใช้พร็อกซี
นี่เป็นภาพของเครื่องมือติดตามที่แสดงโฟลว์ของพร็อกซี
โครงสร้างพร็อกซี
นี่คือโครงสร้างของพร็อกซี โปรดทราบว่าไฟล์นี้จะมีไฟล์ JAR อยู่ใน
ไดเรกทอรี apiproxy/resources/java
ต้องระบุ JAR เราจัดเตรียมข้อมูลเหล่านี้เพื่อ
ตัวอย่าง แต่ถ้าคุณรับงานที่กำหนดเอง คุณจะต้องสร้าง ขึ้นมาเองและคัดลอกลงในนี้
ตำแหน่งนั้น สำหรับคำแนะนำในการคอมไพล์และทำให้ข้อความไฮไลต์ Java ใช้งานได้ โปรดดูวิธีสร้าง Java
ข้อความไฮไลต์
java-cookbook apiproxy java-cookbook.xml policies responseUppercase.xml proxies default.xml resources java ResponseUppercase.jar targets default.xml
เกี่ยวกับโค้ด Java
นโยบายการเรียก Java จะเรียกใช้โค้ด Java ต่อไปนี้ ซึ่งจะแปลงส่วนหัวการตอบกลับและ เนื้อความที่ตอบกลับเป็นตัวพิมพ์ใหญ่ โปรดทราบว่าโปรแกรมจะใช้แพ็กเกจสำหรับ Apigee โดยเฉพาะ แพ็กเกจเหล่านี้ ระบุออบเจ็กต์และเมธอดที่คุณสามารถใช้เพื่อโต้ตอบกับโฟลว์พร็อกซีได้โดยตรง วิธีการ ที่ให้คุณรับและตั้งค่าตัวแปรโฟลว์ ส่วนหัว เนื้อหาข้อความ และอื่นๆ
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.Set; public class ResponseUppercase implements Execution{ public ExecutionResult execute(MessageContext messageContext, ExecutionContext executionContext) { try { Set headers = messageContext.getMessage().getHeaderNames(); for (String header : headers) { String h = messageContext.getMessage().getHeader(header).toUpperCase(); messageContext.getMessage().setHeader(header, h); } String content = messageContext.getMessage().getContent(); messageContext.getMessage().setContent(content.toUpperCase()); return ExecutionResult.SUCCESS; } catch (Exception e) { return ExecutionResult.ABORT; } } }
ตรวจสอบพร็อกซีตัวอย่าง
เราจะฝากให้คุณเปิดพร็อกซีและตรวจสอบไฟล์ ต่อไปนี้คือนโยบายการเรียก Java จดบันทึกวิธีอ้างอิงคลาสที่ข้อความไฮไลต์เรียกใช้และไฟล์ JAR ข้อความไฮไลต์ Java ทั้งหมด นโยบายจะเป็นไปตามรูปแบบนี้ รวมทั้งดูนโยบายคำขอราคาเสนอ Java
<JavaCallout name="responseUppercase"> <ClassName>com.apigeesample.ResponseUppercase</ClassName> <ResourceURL>java://ResponseUppercase.jar</ResourceURL> </JavaCallout>