चौथा चरण: नीति जोड़ना

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

टारगेट एंडपॉइंट बदलने के बाद, अब अपनी प्रॉक्सी में कोई नीति जोड़ी जा सकती है.

नीति, Edge का एक ऐसा कॉम्पोनेंट है जिसे एपीआई प्रॉक्सी के ज़रिए, मैसेज फ़्लो के अलग-अलग पॉइंट से जोड़ा जा सकता है. नीतियों की मदद से, मैसेज के फ़ॉर्मैट बदले जा सकते हैं, ऐक्सेस कंट्रोल लागू किया जा सकता है, रिमोट सेवाओं को कॉल किया जा सकता है, उपयोगकर्ताओं को अनुमति दी जा सकती है, संभावित खतरों के लिए मैसेज के कॉन्टेंट की जांच की जा सकती है, और भी बहुत कुछ किया जा सकता है.

इस ट्यूटोरियल में, आपको अपनी प्रॉक्सी में XMLtoJSON नीति जोड़नी है. यह नीति, XML मैसेज के पेलोड को JSON में बदलती है. इससे जवाब के Content-Type हेडर में भी बदलाव होता है.

अपनी प्रॉक्सी में, XML से JSON में बदलने की नीति जोड़ने के लिए:

  1. ब्राउज़र में Edge UI खोलें और लॉग इन करें.
  2. मुख्य विंडो में एपीआई प्रॉक्सी पर क्लिक करें और कोई प्रॉक्सी चुनें. इस उदाहरण के लिए, पहला चरण: एपीआई प्रॉक्सी बनाएं में बनाई गई प्रॉक्सी चुनें.
  3. डेवलप करें टैब पर क्लिक करें:

    Edge, एपीआई प्रॉक्सी एडिटर दिखाता है.

  4. Navigator पैनल में, प्रॉक्सी एंडपॉइंट > डिफ़ॉल्ट > PreFlow पर क्लिक करें:

    Edge में फ़्लो एडिटर दिखता है:

    इसके अलावा, Edge कोड पैनल में डिफ़ॉल्ट प्रॉक्सी एंडपॉइंट कॉन्फ़िगरेशन दिखाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. अपनी प्रॉक्सी में कोई नीति जोड़ने के लिए, रिस्पॉन्स PreFlow (फ़्लो एडिटर का निचला हिस्सा) में मौजूद + चरण बटन पर क्लिक करें:

    Edge, जोड़ें डायलॉग बॉक्स में नीतियों की कैटगरी वाली सूची दिखाता है. इस सूची में मौजूद नीतियों को अपने फ़्लो में जोड़ा जा सकता है:

  6. नीचे की ओर स्क्रोल करें और मीडिएशन कैटगरी में मौजूद, XML से JSON नीति चुनें.
  7. डिफ़ॉल्ट नाम रहने दें और जोड़ें पर क्लिक करें.

    Edge, नई नीति को रिस्पॉन्स के PreFlow से जोड़ता है:

    ध्यान दें कि जोड़ें पर क्लिक करने पर, Edge ये काम करता है:

    • नेविगेटर पैनल में, नीतियां के तहत नई नीति जोड़ता है.
    • यह फ़्लो पैनल में, XML से JSON फ़ॉर्मैट में बदलने की नीति जोड़ता है.
    • इस विकल्प को चुनने पर, कोड पैन में नीति के कॉन्फ़िगरेशन का एक्सएमएल दिखता है.
  8. अपने बदलावों के साथ मौजूदा वर्शन को सेव करने के लिए, सेव करें पर क्लिक करें.

इसे अभी आज़माएं! टर्मिनल विंडो में, यह curl कमांड चलाएं:

curl https://org_name-test.apigee.net/getstarted

कहां:

इसके अलावा, उसी यूआरएल को किसी ब्राउज़र में खोला जा सकता है.

आपको यह जवाब मिलेगा:

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

अगर जवाब का मुख्य हिस्सा ऐसा नहीं दिखता है, तो पक्का करें कि:

  1. आपका टारगेट एंडपॉइंट "https://mocktarget.apigee.net/xml" है. इसके बारे में तीसरा चरण: टारगेट एंडपॉइंट बदलना में बताया गया है:
    • अगर आपको जवाब के तौर पर "नमस्ते, मेहमान!" मिलता है, तो आपको टारगेट एंडपॉइंट के आखिर में "/xml" जोड़ना होगा.
    • अगर आपको 404 गड़बड़ी का मैसेज मिलता है, तो पक्का करें कि आपने "apigee.net" को ऐक्सेस किया हो, न कि "apigee.com" को.
  2. आपकी प्रॉक्सी का सबसे नया वर्शन डिप्लॉय किया गया है. एपीआई प्रॉक्सी को डिप्लॉय और अनडिप्लॉय करना में दिए गए तरीके से, अपनी एपीआई प्रॉक्सी को फिर से डिप्लॉय करें.

एचटीटीपी अनुरोध और रिस्पॉन्स हेडर देखने के लिए, curl में -vs विकल्प का इस्तेमाल करके वर्बोसिटी चालू करें. v से रिस्पॉन्स वर्बोस हो जाता है, लेकिन s से कम दिलचस्प जानकारी छिप जाती है. उदाहरण के लिए:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

आपको इस तरह का जवाब मिलेगा. ध्यान दें कि रिस्पॉन्स में Content-Type हेडर "application/json" है. XML से JSON में बदलने वाली नीति, जवाब वापस भेजने से पहले हेडर में बदलाव करती है.

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

अगला चरण

ज़्यादा जानकारी