คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
สิ่งที่คุณจะได้เรียนรู้
ในบทแนะนำนี้ คุณจะได้เรียนรู้เกี่ยวกับ
- สร้างพร็อกซี Edge API จากข้อกำหนดของ OpenAPI
- เรียกพร็อกซี API โดยใช้ cURL
- เพิ่มนโยบายในขั้นตอนแบบมีเงื่อนไข
- ทดสอบการเรียกใช้นโยบายโดยใช้ cURL
ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีสร้างพร็อกซี Edge API จากข้อกำหนดของ OpenAPI โดยใช้ UI การจัดการ Apigee Edge เมื่อคุณเรียกใช้พร็อกซี API กับไคลเอ็นต์ HTTP เช่น cURL พร็อกซี API จะส่งคำขอไปยังบริการเป้าหมายจำลอง Apigee
เกี่ยวกับโครงการริเริ่ม Open API
"Open API Initiative (OAI) มุ่งเน้นที่การสร้าง พัฒนา และโปรโมตรูปแบบคำอธิบาย API ที่เป็นกลางของผู้ให้บริการตามข้อกำหนดของ Swagger" ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงการริเริ่ม Open API ได้ที่ https://openapis.org
ข้อกำหนดของ OpenAPI ใช้รูปแบบมาตรฐานในการอธิบาย RESTful API ข้อกำหนด OpenAPI นี้เขียนในรูปแบบ JSON หรือ YAML ทำให้เครื่องอ่านได้ แต่มนุษย์อ่านและทำความเข้าใจได้ง่ายด้วย ข้อกำหนดจะอธิบายองค์ประกอบดังกล่าวของ API อย่างเช่นเส้นทางฐาน เส้นทางและคำกริยา ส่วนหัว พารามิเตอร์การค้นหา การดำเนินการ ประเภทเนื้อหา คำอธิบายการตอบกลับ และอื่นๆ นอกจากนี้ ข้อมูลจำเพาะของ OpenAPI ยังนิยมใช้ในการสร้างเอกสาร API อีกด้วย
เกี่ยวกับบริการเป้าหมายจำลองของ Apigee
บริการเป้าหมายจำลองของ Apigee ที่ใช้ในบทแนะนำนี้โฮสต์อยู่ที่ Apigee และแสดงผลข้อมูลแบบง่าย ไม่จำเป็นต้องใช้คีย์ API หรือโทเค็นเพื่อการเข้าถึง ที่จริงแล้วคุณสามารถเข้าถึงเครื่องมือนี้ได้ในเว็บเบราว์เซอร์ ทดลองใช้ได้โดยคลิกตัวเลือกต่อไปนี้:
บริการเป้าหมายแสดงผลคำทักทาย Hello, guest!
หากต้องการดูข้อมูลเกี่ยวกับ API ทั้งหมดที่บริการจำลองเป้าหมายรองรับ โปรดคลิกรายการต่อไปนี้
สิ่งที่ต้องมี
- บัญชี Apigee Edge หากไม่มีบัญชี คุณลงชื่อสมัครใช้ได้โดยทำตามวิธีการที่การสร้างบัญชี Apigee Edge
- ข้อกำหนดของ OpenAPI ในบทแนะนำนี้ คุณจะใช้
mocktarget.yaml
ข้อกำหนดของ OpenAPI ซึ่งอธิบายบริการเป้าหมายจำลองของ Apigee คือhttp://mocktarget.apigee.net
ดูข้อมูลเพิ่มเติมได้ที่https://github.com/apigee/api-platform-samples/tree/master/default-proxies/helloworld/openapi
- cURL ที่ติดตั้งในเครื่องของคุณเพื่อเรียก API จากบรรทัดคำสั่ง หรือเว็บเบราว์เซอร์
สร้างพร็อกซี API
Edge
วิธีสร้างพร็อกซี API จากข้อกำหนดของ OpenAPI โดยใช้ Edge UI มีดังนี้
- ลงชื่อเข้าใช้ https://apigee.com/edge
- คลิก พร็อกซี API ในหน้าต่างหลัก
หรืออาจเลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย
- คลิก + พร็อกซี
- ในวิซาร์ดสร้างพร็อกซี ให้คลิกใช้ข้อกำหนด OpenAPI สำหรับเทมเพลตพร็อกซีแบบย้อนกลับ (ใช้มากที่สุด)
- คลิกนำเข้าจาก URL แล้วป้อนข้อมูลต่อไปนี้
- OpenAPI Spec URL: เส้นทางไปยังเนื้อหาดิบใน GitHub สำหรับข้อกำหนด OpenAPI ในช่อง URL ดังนี้
https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
- ชื่อข้อกำหนด: ชื่อสำหรับข้อกำหนดของ OpenAPI เช่น เป้าหมายจำลอง
ชื่อนี้ใช้เพื่อจัดเก็บข้อมูลจำเพาะของ OpenAPI ในที่เก็บข้อกำหนด โปรดดูหัวข้อจัดการข้อกำหนดเฉพาะ
- OpenAPI Spec URL: เส้นทางไปยังเนื้อหาดิบใน GitHub สำหรับข้อกำหนด OpenAPI ในช่อง URL ดังนี้
- คลิกนำเข้า
หน้ารายละเอียดในวิซาร์ดสร้างพร็อกซีจะปรากฏขึ้น ช่องจะมีการป้อนข้อมูลล่วงหน้าโดยใช้ค่าที่กำหนดไว้ในข้อกำหนด OpenAPI ดังที่แสดงในตัวอย่างต่อไปนี้
ตารางต่อไปนี้อธิบายค่าเริ่มต้นที่มีการป้อนข้อมูลล่วงหน้าโดยใช้พร็อพเพอร์ตี้ในข้อกำหนดของ OpenAPI ข้อความที่ตัดตอนมาจากข้อกำหนดของ OpenAPI ที่แสดงพร็อพเพอร์ตี้ที่ใช้จะแสดงตามตาราง
ฟิลด์ คำอธิบาย ค่าเริ่มต้น ชื่อ ชื่อของพร็อกซี API เช่น Mock-Target-API
พร็อพเพอร์ตี้ title
จากข้อกำหนดของ OpenAPI ที่มีการเว้นวรรคซึ่งแทนที่ด้วยเครื่องหมายขีดกลางเส้นทางฐาน คอมโพเนนต์เส้นทางที่ระบุพร็อกซี API นี้โดยไม่ซ้ำกันภายในองค์กร URL ที่เปิดเผยต่อสาธารณะของพร็อกซี API นี้ประกอบไปด้วยชื่อองค์กรของคุณ สภาพแวดล้อมที่มีการทำให้พร็อกซี API นี้ใช้งานได้ และเส้นทางพื้นฐานนี้ เช่น http://myorg-test.apigee.net/mock-target-api
แปลงเนื้อหาในช่องชื่อเป็นตัวพิมพ์เล็กทั้งหมดแล้ว คำอธิบาย คำอธิบายพร็อกซี API พร็อพเพอร์ตี้ description
จากข้อกำหนดของ OpenAPIเป้าหมาย (API ที่มีอยู่) มีการเรียกใช้ URL เป้าหมายในนามของพร็อกซี API นี้ คุณจะใช้ URL ที่เข้าถึงผ่านอินเทอร์เน็ตแบบเปิดได้ ตัวอย่างเช่น http://mocktarget.apigee.net
พร็อพเพอร์ตี้ servers
จากข้อกำหนดของ OpenAPIข้อมูลต่อไปนี้ให้ข้อความที่ตัดตอนมาจากข้อกำหนดของ OpenAPI ที่แสดงพร็อพเพอร์ตี้ที่ใช้ในการเติมข้อมูลล่วงหน้าในช่อง
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success ... servers: - url: http://mocktarget.apigee.net - url: https://mocktarget.apigee.net ...
- แก้ไขช่องคำอธิบายดังนี้
API proxy for the Apigee mock target service endpoint.
- คลิกถัดไป
- ในหน้านโยบายทั่วไป ในส่วน "ความปลอดภัย: การให้สิทธิ์" ให้ตรวจสอบว่ามีการเลือกผ่าน (ไม่มีการให้สิทธิ์) ไว้ แล้วคลิกถัดไป
- ในหน้าโฟลว์ ให้ตรวจสอบว่าเลือกการดำเนินการทั้งหมดแล้ว
- คลิกถัดไป
- ในหน้าโฮสต์เสมือน ให้เลือกค่าเริ่มต้นและปลอดภัย แล้วคลิกถัดไป
- ในหน้าสรุป ให้ตรวจสอบว่ามีการเลือกสภาพแวดล้อมการทดสอบไว้ในส่วนการทำให้ใช้งานได้แบบไม่บังคับ แล้วคลิกสร้างและทำให้ใช้งานได้ดังนี้
Apigee จะสร้างพร็อกซี API ใหม่และทำให้ใช้งานได้กับสภาพแวดล้อมการทดสอบ ดังนี้
- คลิกแก้ไขพร็อกซีเพื่อแสดงหน้าภาพรวมสำหรับพร็อกซี API
Classic Edge (Private Cloud)
วิธีสร้างพร็อกซี API จากข้อกำหนดของ OpenAPI โดยใช้ Classic Edge UI มีดังนี้
- ลงชื่อเข้าใช้ https://apigee.com/edge
- คลิก พร็อกซี API ในหน้าต่างหลัก
หรืออาจเลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย
- คลิก + พร็อกซี
- ในวิซาร์ดสร้างพร็อกซี ให้เลือกพร็อกซีแบบย้อนกลับ (ใช้มากที่สุด) และคลิกใช้ OpenAPI
- คลิกนำเข้าจาก URL ป้อนชื่อสำหรับข้อกำหนดของ OpenAPI แล้วป้อนเส้นทางไปยังเนื้อหาดิบใน GitHub สำหรับข้อมูลจำเพาะของ OpenAPI ในช่อง URL ดังนี้
https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
- คลิกเลือก
- คลิกถัดไป
หน้ารายละเอียดในวิซาร์ดสร้างพร็อกซีจะปรากฏขึ้น ระบบจะป้อนข้อมูลช่องนี้ล่วงหน้าโดยใช้ค่าที่กำหนดไว้ในข้อกำหนด OpenAPI ดังที่แสดงในรูปต่อไปนี้
ตารางต่อไปนี้อธิบายค่าเริ่มต้นที่มีการป้อนข้อมูลล่วงหน้าโดยใช้พร็อพเพอร์ตี้ในข้อกำหนดของ OpenAPI ข้อความที่ตัดตอนมาจากข้อกำหนดของ OpenAPI ที่แสดงพร็อพเพอร์ตี้ที่ใช้จะแสดงตามตาราง
ฟิลด์ คำอธิบาย ค่าเริ่มต้น ชื่อพร็อกซี ชื่อของพร็อกซี API เช่น Mock-Target-API
พร็อพเพอร์ตี้ title
จากข้อกำหนดของ OpenAPI ที่มีการเว้นวรรคซึ่งแทนที่ด้วยเครื่องหมายขีดกลางเส้นทางฐานพร็อกซี คอมโพเนนต์เส้นทางที่ระบุพร็อกซี API นี้โดยไม่ซ้ำกันภายในองค์กร URL ที่เปิดเผยต่อสาธารณะของพร็อกซี API นี้ประกอบไปด้วยชื่อองค์กรของคุณ สภาพแวดล้อมที่มีการทำให้พร็อกซี API นี้ใช้งานได้ และเส้นทางพื้นฐานนี้ เช่น http://myorg-test.apigee.net/mock-target-api
แปลงเนื้อหาในช่องชื่อเป็นตัวพิมพ์เล็กทั้งหมดแล้ว API ที่มีอยู่ มีการเรียกใช้ URL เป้าหมายในนามของพร็อกซี API นี้ คุณจะใช้ URL ที่เข้าถึงผ่านอินเทอร์เน็ตแบบเปิดได้ ตัวอย่างเช่น http://mocktarget.apigee.net
พร็อพเพอร์ตี้ servers
จากข้อกำหนดของ OpenAPIคำอธิบาย คำอธิบายพร็อกซี API พร็อพเพอร์ตี้ description
จากข้อกำหนดของ OpenAPIข้อมูลต่อไปนี้ให้ข้อความที่ตัดตอนมาจากข้อกำหนดของ OpenAPI ที่แสดงพร็อพเพอร์ตี้ที่ใช้ในการเติมข้อมูลล่วงหน้าในช่อง
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success ... servers: - url: http://mocktarget.apigee.net - url: https://mocktarget.apigee.net ...
- แก้ไขช่องคำอธิบายดังนี้
API proxy for the Apigee mock target service endpoint.
- คลิกถัดไป
- ในหน้าโฟลว์ ให้ตรวจสอบว่าเลือกการดำเนินการทั้งหมดแล้ว
- คลิกถัดไป
- ในหน้าความปลอดภัย ให้เลือกผ่าน (ไม่มี) เป็นตัวเลือกความปลอดภัย แล้วคลิกถัดไป
- ในหน้าโฮสต์เสมือน ให้ตรวจสอบว่ามีการเลือกโฮสต์เสมือนทั้งหมดแล้ว และคลิกถัดไป
- ในหน้าบิลด์ ให้ตรวจสอบว่าเลือกสภาพแวดล้อมทดสอบแล้ว และคลิกสร้างและทำให้ใช้งานได้
- ในหน้าสรุป คุณจะเห็นการรับทราบว่าสร้างพร็อกซี API ใหม่สำเร็จและใช้งานได้กับสภาพแวดล้อมการทดสอบแล้ว
- คลิกจำลองเป้าหมาย API เพื่อแสดงหน้าภาพรวมสำหรับพร็อกซี API
ยินดีด้วย คุณได้สร้างพร็อกซี API ตามข้อกำหนดของ OpenAPI แล้ว ถัดไป คุณจะต้องทดสอบเพื่อดูวิธีการทำงาน
ทดสอบพร็อกซี API
คุณทดสอบ API ของ Mock-Target-API
ได้โดยใช้ cURL หรือเว็บเบราว์เซอร์
ในหน้าต่างเทอร์มินัล ให้เรียกใช้คำสั่ง cURL ต่อไปนี้ ใส่ชื่อองค์กรใน URL แทน
curl http://<org_name>-test.apigee.net/mock-target-api
คำตอบ
คุณควรเห็นการตอบกลับต่อไปนี้
Hello, Guest!
เยี่ยมไปเลย คุณได้สร้างพร็อกซี API แบบง่ายจากข้อกำหนดของ OpenAPI และทดสอบแล้ว
เพิ่มนโยบาย XML ไปยัง JSON
ถัดไป คุณจะต้องเพิ่มนโยบาย XML ไปยัง JSON ไปยังโฟลว์แบบมีเงื่อนไขดูการตอบกลับ XML ซึ่งสร้างขึ้นโดยอัตโนมัติเมื่อคุณสร้างพร็อกซี API จากข้อกำหนดของ OpenAPI นโยบายจะแปลงการตอบสนอง XML ของเป้าหมายเป็นการตอบสนอง JSON
ก่อนอื่น ให้เรียกใช้ API เพื่อเปรียบเทียบผลลัพธ์กับผลลัพธ์ที่ได้รับหลังจากเพิ่มนโยบาย ในหน้าต่างเทอร์มินัล ให้เรียกใช้คำสั่ง cURL ต่อไปนี้ คุณกำลังเรียกใช้ทรัพยากร /xml
ของบริการเป้าหมาย ซึ่งจะแสดงบล็อก XML แบบง่ายโดยค่าเริ่มต้น
แทนชื่อองค์กรของคุณใน URL
curl http://<org_name>-test.apigee.net/mock-target-api/xml
คำตอบ
คุณควรเห็นการตอบกลับต่อไปนี้
<root> <city>San Jose</city> <firstName>John</firstName> <lastName>Doe</lastName> <state>CA</state> </root>
คราวนี้มาลองแปลงการตอบกลับ XML เป็น JSON กัน เพิ่มนโยบาย XML เป็น JSON ไปยังขั้นตอน "ดูการตอบกลับ XML" แบบมีเงื่อนไขในพร็อกซี API
- คลิกแท็บพัฒนาที่มุมขวาบนของหน้าภาพรวมของ Mock-Target-API ใน Edge UI
- ที่แผงการนำทางด้านซ้ายในส่วนปลายทางของพร็อกซี > ค่าเริ่มต้น ให้คลิกโฟลว์แบบมีเงื่อนไขดูการตอบกลับ XML
- คลิกปุ่ม +ขั้นตอนด้านล่างที่สอดคล้องกับการตอบกลับของขั้นตอน
กล่องโต้ตอบเพิ่มขั้นตอนจะเปิดขึ้นเพื่อแสดงรายการแบบจัดหมวดหมู่ของนโยบายทั้งหมดที่คุณเพิ่มได้
- เลื่อนไปที่หมวดหมู่สื่อกลาง แล้วเลือก XML เป็น JSON
- เก็บค่าเริ่มต้นสำหรับชื่อที่แสดงและชื่อ
- คลิกเพิ่ม นโยบาย XML เป็น JSON จะมีผลกับการตอบกลับ
- คลิกบันทึก
เมื่อเพิ่มนโยบายแล้ว ให้เรียกใช้ API อีกครั้งโดยใช้ cURL โปรดทราบว่าคุณยังคงเรียกใช้ทรัพยากร /xml
เดิม บริการเป้าหมายยังคงแสดงผลบล็อก XML อยู่แต่ตอนนี้นโยบายในพร็อกซี API จะแปลงการตอบสนองต่อ JSON โทรออก
curl http://<org_name>-test.apigee.net/mock-target-api/xml
โปรดทราบว่าการตอบกลับ XML จะถูกแปลงเป็น JSON ดังนี้
{"root":{"city":"San Jose","firstName":"John","lastName":"Doe","state":"CA"}}
ยินดีด้วย คุณได้ทดสอบการดำเนินการของนโยบายที่เพิ่มลงในโฟลว์แบบมีเงื่อนไขเรียบร้อยแล้ว