یک پروکسی API از مشخصات OpenAPI ایجاد کنید

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

آنچه یاد خواهید گرفت

در این آموزش، شما یاد خواهید گرفت که:

  • یک پروکسی Edge API از مشخصات OpenAPI ایجاد کنید.
  • پروکسی API را با استفاده از cURL فراخوانی کنید.
  • یک سیاست به یک جریان شرطی اضافه کنید.
  • با استفاده از cURL، فراخوانی سیاست را آزمایش کنید.

در این آموزش، یاد خواهید گرفت که چگونه با استفاده از رابط کاربری مدیریت Apigee Edge، یک پروکسی API Edge از مشخصات OpenAPI ایجاد کنید. وقتی پروکسی API را با یک کلاینت HTTP، مانند cURL، فراخوانی می‌کنید، پروکسی API درخواست را به سرویس هدف ساختگی Apigee ارسال می‌کند.

درباره ابتکار عمل API باز

ابتکار عمل API باز
«ابتکار عمل API باز (OAI) بر ایجاد، تکامل و ترویج یک قالب توصیف API بی‌طرف از نظر فروشنده، بر اساس مشخصات Swagger متمرکز است.» برای اطلاعات بیشتر در مورد ابتکار عمل API باز، به https://openapis.org مراجعه کنید.

مشخصات OpenAPI از یک قالب استاندارد برای توصیف یک API RESTful استفاده می‌کند. مشخصات 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

لبه

برای ایجاد پروکسی API از مشخصات OpenAPI با استفاده از رابط کاربری Edge:

  1. وارد https://apigee.com/edge شوید.
  2. در پنجره اصلی روی API Proxies کلیک کنید.

    روش دیگر این است که می‌توانید در نوار ناوبری سمت چپ، Develop > API Proxies را انتخاب کنید.

    در صفحه فرود روی API Proxys کلیک کنید

  3. روی + پروکسی کلیک کنید.
    اضافه کردن پروکسی API
  4. در ویزارد ایجاد پروکسی، برای الگوی پروکسی معکوس (رایج‌ترین) روی استفاده از OpenAPI Spec کلیک کنید.
    ساخت یک نوع پروکسی
  5. روی «وارد کردن از URL» کلیک کنید و اطلاعات زیر را وارد کنید:
    • آدرس اینترنتی مشخصات OpenAPI : مسیر محتوای خام در GitHub برای مشخصات OpenAPI در فیلد URL :
      https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
    • نام مشخصات : نام مشخصات OpenAPI، مانند Mock Target .

      این نام برای ذخیره مشخصات 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. در صفحه Common policies ، در قسمت Security: Authorization مطمئن شوید که Pass through (no authorization) انتخاب شده است و روی Next کلیک کنید:

    انتخاب گزینه عبور (بدون مجوز) در صفحه سیاست‌های مشترک

  10. در صفحه Flows، مطمئن شوید که همه عملیات انتخاب شده‌اند.ساخت یک جریان پروکسی
  11. روی بعدی کلیک کنید.
  12. در صفحه میزبان‌های مجازی ، پیش‌فرض و امن را انتخاب کنید و روی بعدی کلیک کنید.
    پیش‌فرض و امن در صفحه میزبان‌های مجازی انتخاب شده‌اند
  13. در صفحه خلاصه ، مطمئن شوید که محیط تست (Test environment) در قسمت استقرار اختیاری (Optional Deployment) انتخاب شده است و سپس روی ایجاد و استقرار (Create and deploy) کلیک کنید:

    Apigee پروکسی API جدید شما را ایجاد کرده و آن را در محیط تست شما مستقر می‌کند:

  14. برای نمایش صفحه مرور کلی برای پروکسی API ، روی ویرایش پروکسی کلیک کنید.
    خلاصه پروکسی Mock Target API

لبه کلاسیک (ابر خصوصی)

برای ایجاد پروکسی API از مشخصات OpenAPI با استفاده از رابط کاربری کلاسیک اج:

  1. وارد https://apigee.com/edge شوید.
  2. در پنجره اصلی روی API Proxies کلیک کنید.

    روش دیگر این است که می‌توانید در نوار ناوبری سمت چپ، Develop > API Proxies را انتخاب کنید.

  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. در صفحه Flows، مطمئن شوید که همه عملیات انتخاب شده‌اند.ساخت یک جریان پروکسی
  11. روی بعدی کلیک کنید.
  12. در صفحه امنیت، گزینه عبور (بدون رمز) را به عنوان گزینه امنیتی انتخاب کنید و روی بعدی کلیک کنید.
  13. در صفحه Virtual Hosts، مطمئن شوید که همه میزبان‌های مجازی انتخاب شده‌اند و روی Next کلیک کنید.
  14. در صفحه ساخت، مطمئن شوید که محیط آزمایشی انتخاب شده است و روی ساخت و استقرار کلیک کنید.
  15. در صفحه خلاصه، تأییدیه‌ای مبنی بر موفقیت‌آمیز بودن ایجاد و استقرار پروکسی API جدید در محیط آزمایشی خود مشاهده می‌کنید.
    خلاصه‌ای از ساخت پروکسی
  16. برای نمایش صفحه مرور کلی برای پروکسی API، روی Mock-Target-API کلیک کنید.
    خلاصه پروکسی Mock Target API

تبریک! شما یک پروکسی API از مشخصات OpenAPI ایجاد کرده‌اید. در مرحله بعد، آن را آزمایش خواهید کرد تا ببینید چگونه کار می‌کند.

پروکسی API را آزمایش کنید

شما می‌توانید Mock-Target-API API خود را با استفاده از cURL یا یک مرورگر وب آزمایش کنید.

در یک پنجره ترمینال، دستور cURL زیر را اجرا کنید. نام سازمان خود را در URL جایگزین کنید.

curl http://<org_name>-test.apigee.net/mock-target-api

پاسخ

شما باید پاسخ زیر را ببینید:

Hello, Guest!        

آفرین! شما یک پروکسی API ساده از مشخصات OpenAPI ساختید و آن را آزمایش کردید.

افزودن یک سیاست XML به JSON

در مرحله بعد، سیاست تبدیل XML به JSON را به جریان شرطی View XML Response که به طور خودکار هنگام ایجاد پروکسی 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 to JSON را به جریان شرطی View XML Response در پروکسی API اضافه کنید.

  1. روی برگه توسعه (Develop ) در گوشه بالا سمت راست صفحه نمای کلی Mock-Target-API در رابط کاربری Edge کلیک کنید.
    برگه توسعه‌دهنده
  2. در پنل سمت چپ ناویگاتور، در قسمت Proxy Endpoints > default، روی View XML Response conditional flow کلیک کنید.
    انتخاب مشاهده پاسخ XML
  3. روی دکمه‌ی +Step در پایین، که مربوط به Response مربوط به جریان است، کلیک کنید.
    انتخاب +مرحله
    پنجره‌ی «افزودن مرحله» باز می‌شود تا فهرستی طبقه‌بندی‌شده از تمام سیاست‌هایی که می‌توانید اضافه کنید را نمایش دهد.
  4. به دسته‌ی Mediation بروید و XML to JSON را انتخاب کنید.
    پنجره‌ی «افزودن مرحله»
  5. مقادیر پیش‌فرض برای Display Name و Name را حفظ کنید.
  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"}}

تبریک! شما با موفقیت اجرای یک سیاست اضافه شده به یک جریان شرطی را آزمایش کردید.