สร้างพร็อกซี API จากข้อกําหนด OpenAPI

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

สิ่งที่คุณจะได้เรียนรู้

ในบทแนะนำนี้ คุณจะได้เรียนรู้เกี่ยวกับ

  • สร้างพร็อกซี Edge API จากข้อกำหนดของ OpenAPI
  • เรียกพร็อกซี API โดยใช้ cURL
  • เพิ่มนโยบายในขั้นตอนแบบมีเงื่อนไข
  • ทดสอบการเรียกใช้นโยบายโดยใช้ cURL

ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีสร้างพร็อกซี Edge API จากข้อกำหนดของ OpenAPI โดยใช้ UI การจัดการ Apigee Edge เมื่อคุณเรียกใช้พร็อกซี API กับไคลเอ็นต์ HTTP เช่น cURL พร็อกซี API จะส่งคำขอไปยังบริการเป้าหมายจำลอง Apigee

เกี่ยวกับโครงการริเริ่ม Open API

โครงการริเริ่ม API ของ Open
"Open API Initiative (OAI) มุ่งเน้นที่การสร้าง พัฒนา และโปรโมตรูปแบบคำอธิบาย API ที่เป็นกลางของผู้ให้บริการตามข้อกำหนดของ Swagger" ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงการริเริ่ม Open API ได้ที่ https://openapis.org

ข้อกำหนดของ OpenAPI ใช้รูปแบบมาตรฐานในการอธิบาย RESTful API ข้อกำหนด OpenAPI นี้เขียนในรูปแบบ JSON หรือ YAML ทำให้เครื่องอ่านได้ แต่มนุษย์อ่านและทำความเข้าใจได้ง่ายด้วย ข้อกำหนดจะอธิบายองค์ประกอบดังกล่าวของ API อย่างเช่นเส้นทางฐาน เส้นทางและคำกริยา ส่วนหัว พารามิเตอร์การค้นหา การดำเนินการ ประเภทเนื้อหา คำอธิบายการตอบกลับ และอื่นๆ นอกจากนี้ ข้อมูลจำเพาะของ OpenAPI ยังนิยมใช้ในการสร้างเอกสาร API อีกด้วย

เกี่ยวกับบริการเป้าหมายจำลองของ Apigee

บริการเป้าหมายจำลองของ Apigee ที่ใช้ในบทแนะนำนี้โฮสต์อยู่ที่ Apigee และแสดงผลข้อมูลแบบง่าย ไม่จำเป็นต้องใช้คีย์ API หรือโทเค็นเพื่อการเข้าถึง ที่จริงแล้วคุณสามารถเข้าถึงเครื่องมือนี้ได้ในเว็บเบราว์เซอร์ ทดลองใช้ได้โดยคลิกตัวเลือกต่อไปนี้:

http://mocktarget.apigee.net

บริการเป้าหมายแสดงผลคำทักทาย Hello, guest!

หากต้องการดูข้อมูลเกี่ยวกับ API ทั้งหมดที่บริการจำลองเป้าหมายรองรับ โปรดคลิกรายการต่อไปนี้

http://mocktarget.apigee.net/help

สิ่งที่ต้องมี

  • บัญชี 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 มีดังนี้

  1. ลงชื่อเข้าใช้ https://apigee.com/edge
  2. คลิก พร็อกซี API ในหน้าต่างหลัก

    หรืออาจเลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย

    คลิกพร็อกซี API ในหน้า Landing Page

  3. คลิก + พร็อกซี
    เพิ่มพร็อกซี API
  4. ในวิซาร์ดสร้างพร็อกซี ให้คลิกใช้ข้อกำหนด OpenAPI สำหรับเทมเพลตพร็อกซีแบบย้อนกลับ (ใช้มากที่สุด)
    สร้างประเภทพร็อกซี
  5. คลิกนำเข้าจาก 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 ในที่เก็บข้อกำหนด โปรดดูหัวข้อจัดการข้อกำหนดเฉพาะ

  6. คลิกนำเข้า

    หน้ารายละเอียดในวิซาร์ดสร้างพร็อกซีจะปรากฏขึ้น ช่องจะมีการป้อนข้อมูลล่วงหน้าโดยใช้ค่าที่กำหนดไว้ในข้อกำหนด 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
    ...
    
  7. แก้ไขช่องคำอธิบายดังนี้ API proxy for the Apigee mock target service endpoint.
  8. คลิกถัดไป
  9. ในหน้านโยบายทั่วไป ในส่วน "ความปลอดภัย: การให้สิทธิ์" ให้ตรวจสอบว่ามีการเลือกผ่าน (ไม่มีการให้สิทธิ์) ไว้ แล้วคลิกถัดไป

    ผ่าน (ไม่มีการให้สิทธิ์) ที่เลือกไว้ในหน้านโยบายทั่วไป

  10. ในหน้าโฟลว์ ให้ตรวจสอบว่าเลือกการดำเนินการทั้งหมดแล้ว สร้างโฟลว์พร็อกซี
  11. คลิกถัดไป
  12. ในหน้าโฮสต์เสมือน ให้เลือกค่าเริ่มต้นและปลอดภัย แล้วคลิกถัดไป
    เลือก "ค่าเริ่มต้น" และ "ความปลอดภัย" ในหน้าโฮสต์เสมือน
  13. ในหน้าสรุป ให้ตรวจสอบว่ามีการเลือกสภาพแวดล้อมการทดสอบไว้ในส่วนการทำให้ใช้งานได้แบบไม่บังคับ แล้วคลิกสร้างและทำให้ใช้งานได้ดังนี้

    Apigee จะสร้างพร็อกซี API ใหม่และทำให้ใช้งานได้กับสภาพแวดล้อมการทดสอบ ดังนี้

  14. คลิกแก้ไขพร็อกซีเพื่อแสดงหน้าภาพรวมสำหรับพร็อกซี API
    สรุปพร็อกซี Mock Target API

Classic Edge (Private Cloud)

วิธีสร้างพร็อกซี API จากข้อกำหนดของ OpenAPI โดยใช้ Classic Edge UI มีดังนี้

  1. ลงชื่อเข้าใช้ https://apigee.com/edge
  2. คลิก พร็อกซี API ในหน้าต่างหลัก

    หรืออาจเลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย

  3. คลิก + พร็อกซี
    เพิ่มพร็อกซี API
  4. ในวิซาร์ดสร้างพร็อกซี ให้เลือกพร็อกซีแบบย้อนกลับ (ใช้มากที่สุด) และคลิกใช้ OpenAPI
    สร้างประเภทพร็อกซี
  5. คลิกนำเข้าจาก URL ป้อนชื่อสำหรับข้อกำหนดของ OpenAPI แล้วป้อนเส้นทางไปยังเนื้อหาดิบใน GitHub สำหรับข้อมูลจำเพาะของ OpenAPI ในช่อง URL ดังนี้

    https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
  6. คลิกเลือก
  7. คลิกถัดไป

    หน้ารายละเอียดในวิซาร์ดสร้างพร็อกซีจะปรากฏขึ้น ระบบจะป้อนข้อมูลช่องนี้ล่วงหน้าโดยใช้ค่าที่กำหนดไว้ในข้อกำหนด 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
    ...
    
  8. แก้ไขช่องคำอธิบายดังนี้ API proxy for the Apigee mock target service endpoint.
  9. คลิกถัดไป
  10. ในหน้าโฟลว์ ให้ตรวจสอบว่าเลือกการดำเนินการทั้งหมดแล้ว สร้างโฟลว์พร็อกซี
  11. คลิกถัดไป
  12. ในหน้าความปลอดภัย ให้เลือกผ่าน (ไม่มี) เป็นตัวเลือกความปลอดภัย แล้วคลิกถัดไป
  13. ในหน้าโฮสต์เสมือน ให้ตรวจสอบว่ามีการเลือกโฮสต์เสมือนทั้งหมดแล้ว และคลิกถัดไป
  14. ในหน้าบิลด์ ให้ตรวจสอบว่าเลือกสภาพแวดล้อมทดสอบแล้ว และคลิกสร้างและทำให้ใช้งานได้
  15. ในหน้าสรุป คุณจะเห็นการรับทราบว่าสร้างพร็อกซี API ใหม่สำเร็จและใช้งานได้กับสภาพแวดล้อมการทดสอบแล้ว
    สร้างข้อมูลสรุปของพร็อกซี
  16. คลิกจำลองเป้าหมาย API เพื่อแสดงหน้าภาพรวมสำหรับพร็อกซี API
    สรุปพร็อกซี Mock Target 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

  1. คลิกแท็บพัฒนาที่มุมขวาบนของหน้าภาพรวมของ Mock-Target-API ใน Edge UI
    แท็บนักพัฒนาซอฟต์แวร์
  2. ที่แผงการนำทางด้านซ้ายในส่วนปลายทางของพร็อกซี > ค่าเริ่มต้น ให้คลิกโฟลว์แบบมีเงื่อนไขดูการตอบกลับ XML
    เลือก &quot;ดูการตอบกลับ XML&quot;
  3. คลิกปุ่ม +ขั้นตอนด้านล่างที่สอดคล้องกับการตอบกลับของขั้นตอน
    เลือก +ขั้นตอน
    กล่องโต้ตอบเพิ่มขั้นตอนจะเปิดขึ้นเพื่อแสดงรายการแบบจัดหมวดหมู่ของนโยบายทั้งหมดที่คุณเพิ่มได้
  4. เลื่อนไปที่หมวดหมู่สื่อกลาง แล้วเลือก XML เป็น JSON
    กล่องโต้ตอบการเพิ่มขั้นตอน
  5. เก็บค่าเริ่มต้นสำหรับชื่อที่แสดงและชื่อ
  6. คลิกเพิ่ม นโยบาย XML เป็น JSON จะมีผลกับการตอบกลับนโยบาย XML เป็น JSON ในขั้นตอน
  7. คลิกบันทึก

เมื่อเพิ่มนโยบายแล้ว ให้เรียกใช้ 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"}}

ยินดีด้วย คุณได้ทดสอบการดำเนินการของนโยบายที่เพิ่มลงในโฟลว์แบบมีเงื่อนไขเรียบร้อยแล้ว