คุณกำลังดูเอกสารประกอบ Apigee Edge
  ไปที่
     เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
เมื่อส่งคำขอไปยังพร็อกซี API คุณจะส่งข้อมูลต่อไปนี้บางส่วนหรือทั้งหมดก็ได้ ทั้งนี้ขึ้นอยู่กับวิธีการกำหนดค่าพร็อกซี API:
- ส่วนหัวของคำขอ
 - พารามิเตอร์การค้นหา
 - ข้อมูลฟอร์ม
 - เพย์โหลด XML หรือ JSON
 - URI ของทรัพยากร
 
โดยค่าเริ่มต้น ข้อมูลทั้งหมดในคำขอจะถูกส่งโดยไม่มีการเปลี่ยนแปลงจาก ProxyEndpoint ไปยัง TargetEndpoint ดังนั้นเมื่อ TargetEndpoint ส่งคำขอไปยังเซิร์ฟเวอร์แบ็กเอนด์ ข้อมูลในคำขอเดิมจะส่งไปยังบริการแบ็กเอนด์
เช่นเดียวกันกับการตอบกลับที่ Edge ได้รับจากบริการแบ็กเอนด์ โดยค่าเริ่มต้นคือ ข้อมูลที่ได้รับในการตอบกลับจะถูกส่งผ่านไม่เปลี่ยนแปลงไปยังแอปที่สร้าง อีกครั้ง
ระบบส่งข้อมูลคำขอไปยังแบ็กเอนด์อย่างไร เซิร์ฟเวอร์ของคุณ
รูปภาพต่อไปนี้แสดงคำจำกัดความของพร็อกซี API

สำหรับพร็อกซี API นี้
- โฮสต์เสมือนพร็อกซี API: "ค่าเริ่มต้น"
 - โดเมนที่กำหนดโดยโฮสต์เสมือน: "http://myOrg-prod.apigee.net"
 - เส้นทางฐานของพร็อกซี: "/v1/weather"
 - TargetEndpoint ที่ระบุโดยกฎเส้นทาง: "ค่าเริ่มต้น"
 - URL เป้าหมาย: "http://weather.yahooapis.com"
 
แอปไคลเอ็นต์ส่งคำขอ GET ไปยังพร็อกซี API โดยใช้ข้อมูลต่อไปนี้
  คำสั่ง curl:
curl -X GET http://myOrg-prod.apigee.net/v1/weather/forecastrss?w=12797282
โปรดสังเกตว่าคำขอนี้มี "การคาดการณ์" ทรัพยากร และพารามิเตอร์คำค้นหา 1 รายการ
  w Edge จะแยกวิเคราะห์คำขอเป็น
  ด้านล่างนี้และกำหนดส่วนต่างๆ ของคำขอไปยังตัวแปร
{request.verb} {proxy.basepath}/{proxy.pathsuffix}?{request.querystring}ตัวแปรโฟลว์ได้รับการตั้งค่าด้วยค่าต่อไปนี้
request.verb: "ดาวน์โหลด"proxy.basepath: "/v1/สภาพอากาศ"proxy.pathsuffix: "ผู้คาดการณ์"request.querystring: "w=12797282"
จากนั้น TargetEndpoint จะส่งคำขอไปยังบริการแบ็กเอนด์โดยใช้ข้อมูลจาก คำขอ:
{request.verb} {target.basepath}/{proxy.pathsuffix}?{request.querystring}สังเกตว่ามีการรวมทรัพยากรและพารามิเตอร์การค้นหาที่ระบุในคำขอโดยอัตโนมัติอย่างไร ในคำขอไปยังเซิร์ฟเวอร์แบ็กเอนด์ จากคำจำกัดความของ TargetEndpoint แล้วคำขอจะ มีรูปแบบดังนี้
curl -X GET http://weather.yahooapis.com/forecastrss?w=12797282
ส่วนหัวหรือพารามิเตอร์ของฟอร์มที่คุณรวมไว้ในคำขอที่ส่งไปยัง API เช่นเดียวกับพารามิเตอร์การค้นหา ระบบจะส่งพร็อกซีไปยังเซิร์ฟเวอร์แบ็กเอนด์ ตัวอย่างเช่น คุณส่งคำขอด้านล่างซึ่งรวม ส่วนหัว:
curl -X GET -H 'Content-type:application/xml' http://myOrg-prod.apigee.net/v1/weather/forecastrss?w=12797282
หรือส่งคำขอในแบบฟอร์มด้านล่างเพื่อรวมข้อมูลส่วนหัวและข้อมูลในแบบฟอร์ม
curl -X POST -H "Content-type:application/json" -d \
  '{"email" : "janetutorialxml@example.com",
    "firstName" : "Jane",
    "lastName" : "Tutorial",
    "userName" : "jtutorialxml"
  }' \
  http://myOrg-prod.apigee.net/v1/register/user
ในทั้ง 2 ตัวอย่าง ส่วนหัวและข้อมูลแบบฟอร์มจะส่งไปยังบริการแบ็กเอนด์โดยไม่เปลี่ยนแปลง 
  ส่วนหัวจะแสดงโดยตัวแปรของโฟลว์ เช่น request.headers.count และ
  request.headers.names ข้อมูลแบบฟอร์มจะแสดงด้วยตัวแปรการไหล เช่น
  request.formparam.count และ request.formparam.names
ระบบแสดงข้อมูลการตอบกลับอย่างไร
โดยค่าเริ่มต้น ระบบจะส่งข้อมูลทั้งหมดที่ Edge ได้รับจากบริการแบ็กเอนด์ในการตอบกลับ ไม่เปลี่ยนแปลงกับแอปที่สร้างคำขอ ตามที่อธิบายไว้ข้างต้นสำหรับคำขอข้อมูล การแสดงผลตอบกลับนั้นเข้าถึงได้ผ่านตัวแปรโฟลว์ใน Edge สำหรับข้อมูลเพิ่มเติม ดูการอ้างอิงตัวแปรโฟลว์
เข้าถึงข้อมูลคำขอและการตอบกลับใน พร็อกซี API
มีหลายครั้งที่คุณต้องการแก้ไขข้อมูลคำขอก่อนที่จะส่งไปยังแบ็กเอนด์ เซิร์ฟเวอร์ เช่น
- เพื่อนำข้อมูลความปลอดภัยที่ Edge ใช้ในการตรวจสอบคำขอออก ข้อมูลดังกล่าวไม่ใช่ ที่จำเป็นสำหรับบริการแบ็กเอนด์
 - ในการเพิ่มข้อมูลที่ส่งไปยังบริการแบ็กเอนด์ เช่น เพื่อติดตามผู้ใช้หรือเพื่อรวบรวม Analytics
 - เพื่อประมวลผลคำขอแบบมีเงื่อนไขตามข้อมูลคำขอ ตัวอย่างเช่น พร็อกซี API สามารถ มี TargetEndpoints หลายรายการ TargetEndpoint ที่คำขอใช้นั้นพิจารณาจากคำขอ จากนั้นคุณจะตัดข้อมูลนั้นออกจากคำขอก่อนที่จะส่งไปยังบริการแบ็กเอนด์
 
ข้อมูลในคำตอบก็เช่นเดียวกัน ในการประมวลผลการตอบกลับ พร็อกซี API อาจต้องแก้ไขข้อมูลก่อนที่จะกลับไปยังแอปที่ส่งคำขอ
ข้อความคำขอเข้าถึง
คุณใช้นโยบายเพื่อเข้าถึงและเปลี่ยนแปลงส่วนต่างๆ ของข้อความคําขอได้ ส่วนต่างๆ เหล่านี้ประกอบด้วย
- ส่วนหัว
 - พารามิเตอร์การค้นหา
 - พารามิเตอร์แบบฟอร์ม
 - ที่อยู่ IP ต้นทาง
 - เนื้อหาข้อความ HTTP
 
ในขั้นตอนปกติ เมื่อดำเนินการตามคำขอแล้ว พร็อกซีจะส่งอีเมลที่เปลี่ยนรูปแบบ ไปยังเป้าหมาย
นโยบายสามารถตรวจสอบตัวแปรคำขอ จากนั้นเปลี่ยนรูปแบบหรือปฏิเสธคำขอตาม ของตัวแปรเหล่านั้น นโยบายจะเปลี่ยนรูปแบบคำขอโดยการตั้งค่าตัวแปรที่เหมาะสม เช่น ตัวแปรที่ตรงกับส่วนหัวของคำขอ
เข้าถึงข้อความตอบกลับ
เมื่อใช้ตัวแปรที่ใช้กับข้อความตอบกลับ นโยบายอาจเข้าถึงคอมโพเนนต์ข้อความ ซึ่งประกอบด้วยส่วนหัว, พารามิเตอร์การค้นหา และพารามิเตอร์แบบฟอร์ม, ที่อยู่ IP ต้นทาง, HTTP เนื้อหาข้อความ และอื่นๆ
พร็อกซีจะได้รับข้อความตอบกลับ จากนั้นนำไปใช้กับชุดนโยบายโดยอิงตาม เงื่อนไขที่ประเมินในคำตอบ ซึ่งแก้ไขหรือเปลี่ยนรูปแบบคำตอบได้
นโยบายสามารถตรวจสอบตัวแปรการตอบกลับ จากนั้นเปลี่ยนรูปแบบหรือปฏิเสธคำขอตาม ของตัวแปรเหล่านั้น นโยบายจะเปลี่ยนการตอบกลับโดยการตั้งค่าตัวแปรที่เหมาะสม เช่น ตัวแปรที่ตรงกับส่วนหัวการตอบกลับ
นโยบายทั่วไปในการเข้าถึงตัวแปรโฟลว์
Edge กำหนดนโยบายหลายรายการที่คุณสามารถใช้เพื่อประมวลผลข้อมูลคำขอและการตอบกลับ เหล่านี้ ได้แก่
- นโยบาย AssignMessage: สร้างหรือแก้ไขข้อความคำขอ HTTP หรือข้อความตอบกลับระหว่างการใช้พร็อกซี API รวมถึงสร้างและเติมข้อมูลตัวแปรโฟลว์ใหม่ด้วย
 - นโยบาย ExtractVariable: ดึงเนื้อหาจากข้อความ ซึ่งรวมถึงส่วนหัว, เส้นทาง URI, เพย์โหลด และ พารามิเตอร์การค้นหา เพื่อใช้ในคำสั่งเงื่อนไข จากนั้นนโยบายจะใช้รูปแบบข้อความกับ เนื้อหาข้อความ และเมื่อพบการจับคู่ที่ตรงกัน จะเป็นการกำหนดตัวแปรที่กำหนด
 - นโยบาย JSONtoXML และนโยบาย XMLtoJSON: แปลงข้อความจาก JavaScript Object Notation (JSON) เป็นภาษามาร์กอัปที่ขยายได้ (XML) หรือในทางกลับกันก็ได้
 - นโยบาย Javaข้อความไฮไลต์, นโยบาย JavaScript, นโยบาย PythonScript นโยบาย regularExpressionProtection เหล่านี้ช่วยให้คุณเขียนสคริปต์เพื่อเข้าถึงตัวแปรโฟลว์ได้ ที่มีข้อมูลคำขอและการตอบกลับ