किसी OpenAPI विवरण से एक API प्रॉक्सी बनाएं

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

आपको इनके बारे में जानकारी मिलेगी

इस ट्यूटोरियल में, आपको पता चलेगा कि:

  • किसी OpenAPI स्पेसिफ़िकेशन की मदद से, Edge API प्रॉक्सी बनाएं.
  • cURL का इस्तेमाल करके एपीआई प्रॉक्सी को कॉल करें.
  • कंडिशनल फ़्लो में नीति जोड़ें.
  • cURL का इस्तेमाल करके, नीति को शुरू करने की प्रक्रिया की जांच करें.

इस ट्यूटोरियल में, आपको Apigee Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, OpenAPI स्पेसिफ़िकेशन से Edge एपीआई प्रॉक्सी बनाने का तरीका बताया जाएगा. जब cURL जैसे किसी एचटीटीपी क्लाइंट के साथ एपीआई प्रॉक्सी को कॉल किया जाता है, तब एपीआई प्रॉक्सी, Apigee की मॉक टारगेट सेवा को अनुरोध भेजता है.

Open API Initiative के बारे में जानकारी

ओपन एपीआई इनिशिएटिव
"ओपन एपीआई इनिशिएटिव (ओएआई) का मकसद, स्वैगर की खास बातों के आधार पर वेंडर न्यूट्रल एपीआई ब्यौरा फ़ॉर्मैट बनाना, उसे बेहतर बनाना, और उसका प्रमोशन करना है." Open API Initiative के बारे में ज़्यादा जानकारी के लिए, https://openapis.org देखें.

OpenAPI की खास बातें, RESTful API के बारे में बताने के लिए, एक स्टैंडर्ड फ़ॉर्मैट का इस्तेमाल करती है. OpenAPI स्पेसिफ़िकेशन को JSON या YAML फ़ॉर्मैट में लिखा जाता है. इसे मशीन से भी पढ़ा और जा सकता है. हालांकि, इसे इंसान भी आसानी से पढ़ और समझ सकते हैं. इस स्पेसिफ़िकेशन में, एपीआई के इन एलिमेंट के बारे में जानकारी दी जाती है. जैसे, इसके बेस पाथ, पाथ और क्रियाओं, हेडर, क्वेरी पैरामीटर, कार्रवाइयां, कॉन्टेंट के टाइप, रिस्पॉन्स की जानकारी वगैरह. इसके अलावा, आम तौर पर OpenAPI स्पेसिफ़िकेशन का इस्तेमाल, एपीआई दस्तावेज़ जनरेट करने के लिए किया जाता है.

Apigee मॉक टारगेट सेवा के बारे में जानकारी

इस ट्यूटोरियल में इस्तेमाल की गई Apigee मॉक टारगेट सेवा को Apigee पर होस्ट किया गया है और यह सामान्य डेटा दिखाती है. इसके लिए किसी एपीआई पासकोड या ऐक्सेस टोकन की ज़रूरत नहीं होती. इतना ही नहीं, इसे वेब ब्राउज़र में भी ऐक्सेस किया जा सकता है. इसे आज़माने के लिए, यहां दिए गए बटन पर क्लिक करें:

http://mocktarget.apigee.net

टारगेट सेवा, वेलकम मैसेज Hello, guest! भेजती है

मॉक टारगेट सेवा के साथ काम करने वाले एपीआई के पूरे सेट के बारे में जानकारी के लिए, इन पर क्लिक करें:

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 को इंस्टॉल किया गया है, ताकि कमांड लाइन या किसी वेब ब्राउज़र से एपीआई कॉल किया जा सके.

एपीआई प्रॉक्सी बनाना

Edge

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, OpenAPI स्पेसिफ़िकेशन से एपीआई प्रॉक्सी बनाने के लिए:

  1. https://apigee.com/edge में साइन इन करें.
  2. मुख्य विंडो में API प्रॉक्सी पर क्लिक करें.

    इसके अलावा, बाईं ओर दिए गए नेविगेशन बार में, डेवलप करें > एपीआई प्रॉक्सी को चुना जा सकता है.

    लैंडिंग पेज पर एपीआई प्रॉक्सी पर क्लिक करें

  3. + प्रॉक्सी पर क्लिक करें.
    एपीआई प्रॉक्सी जोड़ें
  4. प्रॉक्सी बनाएं विज़र्ड में, रिवर्स प्रॉक्सी (सबसे आम) टेंप्लेट के लिए, OpenAPI Spec पर क्लिक करें.
    प्रॉक्सी प्रकार बनाना
  5. यूआरएल से इंपोर्ट करें पर क्लिक करें और यह जानकारी डालें:
    • OpenAPI स्पेसिफ़िकेशन यूआरएल: यूआरएल फ़ील्ड में OpenAPI स्पेसिफ़िकेशन के लिए, GitHub पर रॉ कॉन्टेंट का पाथ:
      https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
    • खास नाम: OpenAPI स्पेसिफ़िकेशन का नाम, जैसे कि मॉक टारगेट.

      इस नाम का इस्तेमाल, स्पेसिफ़िकेशन स्टोर में OpenAPI स्पेसिफ़िकेशन को स्टोर करने के लिए किया जाता है. अपनी जानकारी मैनेज करना देखें.

  6. इंपोर्ट करें पर क्लिक करें.

    प्रॉक्सी बनाएं विज़र्ड में, ज़्यादा जानकारी वाला पेज दिखता है. ओपनएपीआई की स्पेसिफ़िकेशन में बताई गई वैल्यू का इस्तेमाल करके, फ़ील्ड में जानकारी पहले से भरी होती है, जैसा कि यहां दिखाया गया है

    नीचे दी गई टेबल में उन डिफ़ॉल्ट वैल्यू के बारे में बताया गया है जो OpenAPI स्पेसिफ़िकेशन में बताई गई प्रॉपर्टी का इस्तेमाल करके पहले से भरी हुई हैं. टेबल के नीचे, OpenAPI स्पेसिफ़िकेशन का एक हिस्सा दिखाया गया है. इसमें, इस्तेमाल की गई प्रॉपर्टी के बारे में बताया गया है.

    फ़ील्ड ब्यौरा डिफ़ॉल्ट
    नाम एपीआई प्रॉक्सी का नाम. उदाहरण के लिए: Mock-Target-API. OpenAPI स्पेसिफ़िकेशन से मिली title प्रॉपर्टी, जिसमें डैश से बदल दिया गया है
    बेस पाथ पाथ कॉम्पोनेंट, जो संगठन में इस एपीआई प्रॉक्सी की खास तौर पर पहचान करता है. इस एपीआई प्रॉक्सी के सार्वजनिक यूआरएल में आपके संगठन का नाम, एक ऐसा एनवायरमेंट, जहां इस एपीआई प्रॉक्सी को डिप्लॉय किया जाता है, और यह बेस पाथ शामिल होता है. उदाहरण के लिए: http://myorg-test.apigee.net/mock-target-api नाम फ़ील्ड का कॉन्टेंट, सभी छोटे अक्षरों में बदला गया
    Description एपीआई प्रॉक्सी की जानकारी. OpenAPI स्पेसिफ़िकेशन के मुताबिक description प्रॉपर्टी
    टारगेट (मौजूदा एपीआई) इस एपीआई प्रॉक्सी की ओर से, टारगेट यूआरएल शुरू किया गया. ओपन इंटरनेट पर ऐक्सेस किए जा सकने वाले किसी भी यूआरएल का इस्तेमाल किया जा सकता है. उदाहरण के लिए: http://mocktarget.apigee.net OpenAPI स्पेसिफ़िकेशन के मुताबिक servers प्रॉपर्टी

    यहां 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, आपका नया एपीआई प्रॉक्सी बनाता है और उसे आपके टेस्ट एनवायरमेंट में डिप्लॉय करता है:

  14. एपीआई प्रॉक्सी का खास जानकारी देने वाला पेज देखने के लिए, प्रॉक्सी में बदलाव करें पर क्लिक करें.
    मॉक टारगेट एपीआई प्रॉक्सी की खास जानकारी

क्लासिक एज (प्राइवेट क्लाउड)

क्लासिक Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, OpenAPI स्पेसिफ़िकेशन से एपीआई प्रॉक्सी बनाने के लिए:

  1. https://apigee.com/edge में साइन इन करें.
  2. मुख्य विंडो में API प्रॉक्सी पर क्लिक करें.

    इसके अलावा, बाईं ओर दिए गए नेविगेशन बार में, डेवलप करें > एपीआई प्रॉक्सी को चुना जा सकता है.

  3. + प्रॉक्सी पर क्लिक करें.
    एपीआई प्रॉक्सी जोड़ें
  4. 'प्रॉक्सी बनाएं विज़र्ड' में, रिवर्स प्रॉक्सी (सबसे आम) चुनें और OpenAPI का इस्तेमाल करें पर क्लिक करें.
    प्रॉक्सी प्रकार बनाना
  5. यूआरएल से इंपोर्ट करें पर क्लिक करें और OpenAPI स्पेसिफ़िकेशन के लिए कोई नाम डालें. इसके बाद, यूआरएल फ़ील्ड में OpenAPI स्पेसिफ़िकेशन के लिए, GitHub पर रॉ कॉन्टेंट का पाथ डालें:

    https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
  6. चुनें पर क्लिक करें.
  7. आगे बढ़ें पर क्लिक करें.

    प्रॉक्सी बनाएं विज़र्ड में, ज़्यादा जानकारी वाला पेज दिखता है. जैसा कि इस डायग्राम में दिखाया गया है, OpenAPI स्पेसिफ़िकेशन में बताई गई वैल्यू का इस्तेमाल करके, फ़ील्ड में अपने-आप जानकारी भर जाती है.

    प्रॉक्सी विवरण बनाएं

    नीचे दी गई टेबल में उन डिफ़ॉल्ट वैल्यू के बारे में बताया गया है जो OpenAPI स्पेसिफ़िकेशन में बताई गई प्रॉपर्टी का इस्तेमाल करके पहले से भरी हुई हैं. टेबल के नीचे, OpenAPI स्पेसिफ़िकेशन का एक हिस्सा दिखाया गया है. इसमें, इस्तेमाल की गई प्रॉपर्टी के बारे में बताया गया है.

    फ़ील्ड ब्यौरा डिफ़ॉल्ट
    प्रॉक्सी नाम एपीआई प्रॉक्सी का नाम. उदाहरण के लिए: Mock-Target-API. OpenAPI स्पेसिफ़िकेशन से मिली title प्रॉपर्टी, जिसमें डैश से बदल दिया गया है
    प्रॉक्सी बेस पाथ पाथ कॉम्पोनेंट, जो संगठन में इस एपीआई प्रॉक्सी की खास तौर पर पहचान करता है. इस एपीआई प्रॉक्सी के सार्वजनिक यूआरएल में आपके संगठन का नाम, एक ऐसा एनवायरमेंट, जहां इस एपीआई प्रॉक्सी को डिप्लॉय किया जाता है, और यह बेस पाथ शामिल होता है. उदाहरण के लिए: http://myorg-test.apigee.net/mock-target-api नाम फ़ील्ड का कॉन्टेंट, सभी छोटे अक्षरों में बदला गया
    मौजूदा एपीआई इस एपीआई प्रॉक्सी की ओर से, टारगेट यूआरएल शुरू किया गया. ओपन इंटरनेट पर ऐक्सेस किए जा सकने वाले किसी भी यूआरएल का इस्तेमाल किया जा सकता है. उदाहरण के लिए: http://mocktarget.apigee.net OpenAPI स्पेसिफ़िकेशन के मुताबिक servers प्रॉपर्टी
    Description एपीआई प्रॉक्सी की जानकारी. OpenAPI स्पेसिफ़िकेशन के मुताबिक description प्रॉपर्टी

    यहां 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. खास जानकारी वाले पेज पर, आपको इस बात की पुष्टि होगी कि आपका नया एपीआई प्रॉक्सी बन गया है और उसे टेस्ट एनवायरमेंट में डिप्लॉय कर दिया गया है.
    प्रॉक्सी की खास जानकारी बनाना
  16. एपीआई प्रॉक्सी की खास जानकारी देने वाला पेज देखने के लिए, मॉक-टारगेट-एपीआई पर क्लिक करें.
    मॉक टारगेट एपीआई प्रॉक्सी की खास जानकारी

बधाई! आपने OpenAPI स्पेसिफ़िकेशन से एक एपीआई प्रॉक्सी बनाई है. इसके बाद, इसे टेस्ट करके देखें कि यह कैसे काम करता है.

एपीआई प्रॉक्सी की जांच करें

cURL या वेब ब्राउज़र का इस्तेमाल करके, अपने Mock-Target-API API की जांच की जा सकती है.

किसी टर्मिनल विंडो में, नीचे दिया गया cURL निर्देश चलाएं. यूआरएल में अपने संगठन का नाम डालें.

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

जवाब

आपको यह जवाब दिखेगा:

Hello, Guest!        

बहुत बढ़िया! आपने OpenAPI स्पेसिफ़िकेशन से एक आसान एपीआई प्रॉक्सी बनाई है और इसे टेस्ट किया है.

JSON नीति में एक्सएमएल जोड़ना

इसके बाद, एक्सएमएल रिस्पॉन्स देखें कंडिशनल फ़्लो में, आपको एक्सएमएल नीति को JSON नीति में जोड़ना होगा. यह फ़्लो, OpenAPI स्पेसिफ़िकेशन से एपीआई प्रॉक्सी बनाते समय, अपने-आप जनरेट हुआ था. यह नीति, टारगेट के एक्सएमएल रिस्पॉन्स को JSON रिस्पॉन्स में बदल देगी.

सबसे पहले, एपीआई को कॉल करें, ताकि आप नीति को जोड़ने के बाद मिले नतीजों से मिले नतीजों की तुलना कर सकें. किसी टर्मिनल विंडो में, नीचे दिया गया cURL निर्देश चलाएं. टारगेट सेवा के /xml रिसॉर्स को कॉल किया जा रहा है, जो नेटिव तौर पर एक्सएमएल का एक सामान्य ब्लॉक दिखाता है. यूआरएल से अपने संगठन का नाम बदलें.

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>

अब कुछ ऐसा करते हैं जो एक्सएमएल रिस्पॉन्स को JSON में बदलता है. एपीआई प्रॉक्सी में, 'एक्सएमएल रिस्पॉन्स देखें' कंडिशनल फ़्लो में, JSON नीति में एक्सएमएल जोड़ें.

  1. Edge यूज़र इंटरफ़ेस (यूआई) में, मॉक-टारगेट-एपीआई की खास जानकारी देने वाले पेज के सबसे ऊपर दाएं कोने में मौजूद, डेवलप करें टैब पर क्लिक करें.
    डेवलपर टैब
  2. बाएं नेविगेटर पैनल में, प्रॉक्सी एंडपॉइंट > डिफ़ॉल्ट में जाकर, एक्सएमएल रिस्पॉन्स देखें कंडिशनल फ़्लो पर क्लिक करें.
    &#39;एक्सएमएल रिस्पॉन्स देखें&#39; को चुनें
  3. फ़्लो के लिए रिस्पॉन्स के हिसाब से, सबसे नीचे मौजूद +चरण बटन पर क्लिक करें.
    +चरण चुनें
    इसके बाद, 'चरण जोड़ें' डायलॉग बॉक्स खुलेगा. इसमें उन सभी नीतियों की कैटगरी के हिसाब से सूची दिखेगी जिन्हें जोड़ा जा सकता है.
  4. स्क्रोल करके मीडिएशन कैटगरी पर जाएं और एक्सएमएल से JSON में चुनें.
    &#39;चरण जोड़ें&#39; डायलॉग
  5. डिसप्ले नेम और नाम के लिए डिफ़ॉल्ट वैल्यू सेट करें.
  6. जोड़ें पर क्लिक करें. रिस्पॉन्स पर, एक्सएमएल से JSON नीति लागू होती है.एक्सएमएल से JSON नीति का फ़्लो में है
  7. सेव करें पर क्लिक करें.

आपने नीति जोड़ ली है, तो cURL का इस्तेमाल करके, एपीआई को फिर से कॉल करें. ध्यान दें कि अब भी उसी /xml संसाधन को कॉल किया जा रहा है. टारगेट सेवा अब भी एक्सएमएल वाला अपना ब्लॉक दिखाती है. हालांकि, अब एपीआई प्रॉक्सी में मौजूद नीति, रिस्पॉन्स को JSON में बदल देगी. यह कॉल करें:

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

ध्यान दें कि एक्सएमएल रिस्पॉन्स को JSON में बदल दिया जाता है:

{"root":{"city":"San Jose","firstName":"John","lastName":"Doe","state":"CA"}}

बधाई! आपने कंडिशनल फ़्लो में जोड़ी गई नीति के लागू होने की जांच कर ली है.