Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
Apigee X के दस्तावेज़. जानकारी पर जाएं
OASValidation की नीति के बारे में जानकारी
OASValidation (OpenAPI स्पेसिफ़िकेशन पुष्टि) नीति की मदद से, OpenAPI 3.0 स्पेसिफ़िकेशन (JSON या YAML) के लिए, आने वाले अनुरोध या रिस्पॉन्स मैसेज की पुष्टि की जा सकती है. देखें कि किस कॉन्टेंट की पुष्टि की गई है?
OASValidation नीति, OpenAPI स्पेसिफ़िकेशन के नाम के बारे में बताती है. इसका इस्तेमाल उस चरण की पुष्टि करने के लिए किया जाता है जिससे नीति अटैच की गई है.
OpenAPI स्पेसिफ़िकेशन को संसाधन के तौर पर एपीआई प्रॉक्सी बंडल में इस स्टैंडर्ड जगह में सेव किया जाता है: apiproxy/resources/oas
.
OpenAPI स्पेसिफ़िकेशन में .json
, .yml
, .yaml
एक्सटेंशन होना ज़रूरी है.
संसाधनों को मैनेज करें में बताए गए तरीके से यूज़र इंटरफ़ेस (यूआई) या एपीआई का इस्तेमाल करके, API प्रॉक्सी बंडल में संसाधन के तौर पर OpenAPI स्पेसिफ़िकेशन जोड़ें.
किस कॉन्टेंट की पुष्टि की जाती है?
यहां दी गई टेबल में, अनुरोध के मैसेज के कॉन्टेंट के बारे में खास जानकारी दी गई है. इसकी पुष्टि कॉम्पोनेंट के हिसाब से, OASValidation नीति से की गई है.
घटक | सत्यापन का अनुरोध करें |
---|---|
बेसपाथ | एपीआई प्रॉक्सी के बताए गए बेसपाथ की पुष्टि करता है; OpenAPI स्पेसिफ़िकेशन में दिए गए बेसपाथ को अनदेखा करता है. |
पाथ | यह पुष्टि करता है कि अनुरोध का पाथ (बेसपाथ को छोड़कर) OpenAPI की विशेषताओं में बताए गए किसी एक पाथ पैटर्न से मेल खाता है. |
क्रिया | इससे यह पुष्टि होती है कि OpenAPI स्पेसिफ़िकेशन में पाथ के लिए क्रिया को तय किया गया है. |
अनुरोध के मैसेज का मुख्य हिस्सा |
ध्यान दें: यह नीति, अनुरोध के मैसेज के मुख्य हिस्से की पुष्टि OpenAPI स्पेसिफ़िकेशन के हिसाब से सिर्फ़ तब करती है, जब कॉन्टेंट टाइप को
|
पैरामीटर |
|
नीचे दी गई टेबल में, जवाब दिए गए मैसेज के कॉन्टेंट की खास जानकारी दी गई है. इसकी पुष्टि कॉम्पोनेंट के हिसाब से, OASValidation नीति से की गई है.
घटक | प्रतिक्रिया पुष्टि |
---|---|
पाथ | यह पुष्टि करता है कि अनुरोध का पाथ (बेसपाथ को छोड़कर) OpenAPI की विशेषताओं में बताए गए किसी एक पाथ पैटर्न से मेल खाता है. |
क्रिया | इससे यह पुष्टि होती है कि OpenAPI स्पेसिफ़िकेशन में पाथ के लिए क्रिया को तय किया गया है. |
जवाब वाले मैसेज का मुख्य हिस्सा |
|
सैंपल
यहां कुछ ऐसे तरीके बताए गए हैं जिनसे OpenAPI 3.0 स्पेसिफ़िकेशन के हिसाब से मैसेज की पुष्टि की जा सकती है. इसके लिए, OASValidation नीति का इस्तेमाल किया जा सकता है.
अनुरोध वाले मैसेज की पुष्टि करें
यहां दिए गए उदाहरण में, myoaspolicy
नीति अनुरोध मैसेज के मुख्य हिस्से की पुष्टि करती है. यह पुष्टि, my-spec.json
OpenAPI की विशेषताओं में बताए गए
कार्रवाई के अनुरोध वाले मैसेज के मुख्य हिस्से के मुताबिक करती है.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.json</OASResource> <Options> <ValidateMessageBody>true</ValidateMessageBody> </Options> <Source>request</Source> </OASValidation>
अगर मैसेज का मुख्य हिस्सा OpenAPI स्पेसिफ़िकेशन के मुताबिक नहीं है, तो policies.oasvalidation.Failed
गड़बड़ी दिखती है.
पैरामीटर की पुष्टि करना
नीचे दिए गए उदाहरण में, नीति को कॉन्फ़िगर किया जाता है, ताकि अगर अनुरोध में ऐसे हेडर, क्वेरी या कुकी पैरामीटर के बारे में बताया गया हो जिसके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, तो इसे फ़ेल हो जाएगा.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> <Query>false</Query> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<OASValidation>
एलिमेंट
OpenAPI स्पेसिफ़िकेशन की पुष्टि करने से जुड़ी नीति के बारे में बताता है.
डिफ़ॉल्ट वैल्यू | नीचे दिया गया डिफ़ॉल्ट नीति टैब देखें |
ज़रूरी है? | ज़रूरी है |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स ऑब्जेक्ट |
पैरंट एलिमेंट | लागू नहीं |
बच्चों के एलिमेंट |
<DisplayName> <OASResource> <Source> <Options> <Source> |
सिंटैक्स
<OASValidation>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation continueOnError="[true|false]" enabled="[true|false]" name="policy_name" > <!-- All OASValidation child elements are optional except OASResource --> <DisplayName>policy_display_name</DisplayName> <OASResource>validation_JSON_or_YAML</OASResource> <Options> <ValidateMessageBody>[true|false]</ValidateMessageBody> <AllowUnspecifiedParameters> <Header>[true|false]</Header> <Query>[true|false]</Query> <Cookie>[true|false]</Cookie> </AllowUnspecifiedParameters> </Options> <Source>message_to_validate</Source> </OASValidation>
डिफ़ॉल्ट नीति
नीचे दिए गए उदाहरण में, Apigee यूज़र इंटरफ़ेस (यूआई) में अपने फ़्लो में, ओएएस की पुष्टि करने की नीति जोड़ने पर डिफ़ॉल्ट सेटिंग दिखाई गई हैं:
<OASValidation continueOnError="false" enabled="true" name="OpenAPI-Spec-Validation-1"> <DisplayName>OpenAPI Spec Validation-1</DisplayName> <Properties/> <Source>request</Source> <OASResource>oas://OpenAPI-Spec-Validation-1.yaml</OASResource> </OASValidation>
इस एलिमेंट में ये एट्रिब्यूट शामिल होते हैं, जो सभी नीतियों में शामिल हैं:
एट्रिब्यूट | डिफ़ॉल्ट | ज़रूरी है? | ब्यौरा |
---|---|---|---|
name |
लागू नहीं | ज़रूरी |
नीति का अंदरूनी नाम. इसके अलावा, मैनेजमेंट एलिमेंट के यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, नीति एलिमेंट को किसी अलग नाम से इस्तेमाल करने के लिए, |
continueOnError |
गलत | ज़रूरी नहीं | नीति के काम न करने पर गड़बड़ी दिखाने के लिए, "गलत" पर सेट करें. ज़्यादातर नीतियों के लिए इस तरीके का इस्तेमाल किया जाना चाहिए. नीति लागू न होने के बाद भी फ़्लो चलाने के लिए, "सही" पर सेट करें. |
enabled |
सही | ज़रूरी नहीं | नीति लागू करने के लिए, "सही" पर सेट करें. नीति को "बंद" करने के लिए "गलत" पर सेट करें. अगर नीति किसी फ़्लो से जुड़ी हुई हो, तो भी उसे लागू नहीं किया जाएगा. |
async |
गलत | बहिष्कृत | इस एट्रिब्यूट के इस्तेमाल पर रोक लगा दी गई है. |
चाइल्ड एलिमेंट का रेफ़रंस
इस सेक्शन में, <OASValidation>
के चाइल्ड एलिमेंट के बारे में बताया गया है.
<DisplayName>
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में
नीति को एक अलग और ज़्यादा आम लगने वाले नाम से लेबल करने के लिए, name
एट्रिब्यूट के साथ-साथ इसका इस्तेमाल करें.
<DisplayName>
एलिमेंट सभी नीतियों के लिए समान है.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | ज़रूरी नहीं. <DisplayName> को छोड़ने पर, नीति की name एट्रिब्यूट की वैल्यू का इस्तेमाल किया जाता है |
स्ट्रीम किस तरह की है | स्ट्रिंग |
पैरंट एलिमेंट | <PolicyElement> |
बच्चों के एलिमेंट | कभी नहीं |
<DisplayName>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
सिंटैक्स
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
उदाहरण
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
<DisplayName>
एलिमेंट में कोई एट्रिब्यूट या चाइल्ड एलिमेंट नहीं है.
<OASResource>
पुष्टि करने के लिए OpenAPI की विशेषताएं तय करता है. आप इस फ़ाइल को स्टोर कर सकते हैं:
- एपीआई प्रॉक्सी बंडल में,
/apiproxy/resources/oas
के तहत एपीआई प्रॉक्सी स्कोप पर - एपीआई प्रॉक्सी एडिटर के नेविगेटर व्यू के
Resources
सेक्शन में.
ज़्यादा जानकारी के लिए, संसाधनों को मैनेज करना लेख पढ़ें.
{oas.resource.url}
जैसे मैसेज टेंप्लेट का इस्तेमाल करके, OpenAPI स्पेसिफ़िकेशन तय किया जा सकता है.
इस मामले में, फ़्लो वैरिएबल oas.resource.url
(कर्ली ब्रेसेस में) की वैल्यू का आकलन किया जाएगा
और उसे रनटाइम पर पेलोड स्ट्रिंग में बदला जाएगा.
ज़्यादा जानकारी के लिए, मैसेज टेंप्लेट देखें.
डिफ़ॉल्ट वैल्यू | कभी नहीं |
ज़रूरी है? | ज़रूरी है |
स्ट्रीम किस तरह की है | स्ट्रिंग |
पैरंट एलिमेंट |
<OASValidation>
|
बच्चों के एलिमेंट | कभी नहीं |
सिंटैक्स
<OASResource>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> ... </OASValidation>
उदाहरण
नीचे दिया गया उदाहरण उस my-spec.yaml
स्पेसिफ़िकेशन के बारे में बताता है जिसे एपीआई प्रॉक्सी बंडल में /apiproxy/resources/oas
में स्टोर किया गया है:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> </OASValidation>
<OASResource>
एलिमेंट में कोई एट्रिब्यूट या चाइल्ड एलिमेंट नहीं है.
<विकल्प>
इस नीति के लिए विकल्पों को कॉन्फ़िगर करता है.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | ज़रूरी नहीं |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<OASValidation>
|
बच्चों के एलिमेंट |
<ValidateMessageBody> <AllowUnspecifiedParameters> |
सिंटैक्स
<Options>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <ValidateMessageBody>[true|false]</ValidateMessageBody> <AllowUnspecifiedParameters> <Header>[true|false]</Header> <Query>[true|false]</Query> <Cookie>[true|false]</Cookie> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
नीचे दिए गए उदाहरण में, नीति के लिए विकल्पों को कॉन्फ़िगर किया गया है. यहां हर विकल्प के बारे में ज़्यादा जानकारी दी गई है.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <ValidateMessageBody>false</ValidateMessageBody> <AllowUnspecifiedParameters> <Header>false</Header> <Query>false</Query> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<ValidateMessageBody>
इस नीति से यह तय किया जाता है कि नीति को OpenAPI स्पेसिफ़िकेशन में, कार्रवाई के अनुरोध वाले मुख्य हिस्से के स्कीमा के हिसाब से मैसेज के मुख्य हिस्से की पुष्टि करनी चाहिए या नहीं. मैसेज के मुख्य हिस्से की पुष्टि करने के लिए, true पर सेट करें. false पर सेट करें, ताकि इस बात की पुष्टि की जा सके कि मैसेज का मुख्य हिस्सा मौजूद है.
पुष्टि करने से जुड़ी गड़बड़ी के बाद, यह कंट्रोल किया जा सकता है कि फ़्लो एक्ज़ीक्यूशन जारी रहता है या नहीं. इसके लिए, <OASValidation>
एलिमेंट के लिए continueOnError
एट्रिब्यूट को सही पर सेट करें.
डिफ़ॉल्ट वैल्यू | false |
ज़रूरी है? | ज़रूरी नहीं |
स्ट्रीम किस तरह की है | बूलियन |
पैरंट एलिमेंट |
<Options>
|
बच्चों के एलिमेंट | कभी नहीं |
सिंटैक्स
<ValidateMessageBody>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <ValidateMessageBody>[true|false]</ValidateMessageBody> </Options> ... </OASValidation>
उदाहरण
इस उदाहरण में, मैसेज के मुख्य हिस्से की पुष्टि की जाती है:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <ValidateMessageBody>true</ValidateMessageBody> </Options> </OASValidation>
<AllowUnspecifiedParameters>
अगर अनुरोध में ऐसे हेडर, क्वेरी या कुकी पैरामीटर मौजूद हैं जिनके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, तो यह नीति के व्यवहार को कॉन्फ़िगर करती है.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | ज़रूरी नहीं |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<Options>
|
बच्चों के एलिमेंट |
<Header> <Query> <Cookie> |
सिंटैक्स
<AllowUnspecifiedParameters>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Header>[true|false]</Header> <Query>[true|false]</Query> <Cookie>[true|false]</Cookie> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
नीचे दिए गए उदाहरण में, नीति को कॉन्फ़िगर किया जाता है, ताकि अगर अनुरोध में ऐसे हेडर, क्वेरी या कुकी पैरामीटर के बारे में बताया गया हो जिसके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, तो इसे फ़ेल हो जाएगा.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> <Query>false</Query> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Header>
(<AllowUnspecifiedParameters>
का बच्चा)
अगर अनुरोध में ऐसे हेडर पैरामीटर मौजूद हैं जिनके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, तो यह नीति के व्यवहार को कॉन्फ़िगर करती है.
OpenAPI स्पेसिफ़िकेशन में नहीं बताए गए अनुरोध में, हेडर पैरामीटर के बारे में बताने के लिए, इस पैरामीटर को true पर सेट करें. अगर ऐसा नहीं है, तो इस पैरामीटर को false पर सेट करें, ताकि नीति का पालन न हो.
डिफ़ॉल्ट वैल्यू | true |
ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
बच्चों के एलिमेंट | कभी नहीं |
सिंटैक्स
<Header>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Header>[true|false]</Header> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
नीचे दिए गए उदाहरण में, नीति को कॉन्फ़िगर करने का तरीका बताया गया है. अगर अनुरोध में ऐसा हेडर पैरामीटर मौजूद है जिसकी जानकारी OpenAPI स्पेसिफ़िकेशन में नहीं दी गई है, तो इस नीति को फ़ेल हो जाएगा.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Query>
(<AllowUnspecifiedParameters>
का बच्चा)
अगर अनुरोध में ऐसे क्वेरी पैरामीटर मौजूद हैं जिनके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, तो यह नीति के व्यवहार को कॉन्फ़िगर करती है.
ऐसे क्वेरी पैरामीटर को अनुरोध में शामिल करने की अनुमति देने के लिए जिनके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, इस पैरामीटर को true पर सेट करें. अगर ऐसा नहीं है, तो इस पैरामीटर को false पर सेट करें, ताकि नीति का पालन न हो.
डिफ़ॉल्ट वैल्यू | true |
ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
बच्चों के एलिमेंट | कभी नहीं |
सिंटैक्स
<Query>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Query>[true|false]</Query> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
नीचे दिए गए उदाहरण में, इस नीति को कॉन्फ़िगर किया जाता है, ताकि अनुरोध में ऐसे क्वेरी पैरामीटर के बारे में बताया जा सके जिसकी जानकारी OpenAPI स्पेसिफ़िकेशन में नहीं दी गई है.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Query>false</Query> </AllowUnspecifiedParameters> </Options> </OASValidation>
अगर अनुरोध में ऐसे कुकी पैरामीटर मौजूद हैं जिनके बारे में OpenAPI स्पेसिफ़िकेशन में नहीं बताया गया है, तो यह नीति के व्यवहार को कॉन्फ़िगर करती है.
OpenAPI स्पेसिफ़िकेशन में नहीं बताए गए अनुरोध में, कुकी पैरामीटर को तय करने की अनुमति देने के लिए, इस पैरामीटर को true पर सेट करें. अगर ऐसा नहीं है, तो इस पैरामीटर को false पर सेट करें, ताकि नीति का पालन न हो.
डिफ़ॉल्ट वैल्यू | true |
ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
बच्चों के एलिमेंट | कभी नहीं |
सिंटैक्स
<Cookie>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Query>[true|false]</Query> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
नीचे दिए गए उदाहरण में, इस नीति को कॉन्फ़िगर किया जाता है, ताकि अनुरोध में ऐसे क्वेरी पैरामीटर के बारे में बताया जा सके जिसकी जानकारी OpenAPI स्पेसिफ़िकेशन में नहीं दी गई है.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Source>
JSON मैसेज की जांच, JSON पेलोड अटैक के ख़िलाफ़ की जाएगी. आम तौर पर, इसे request
पर सेट किया जाता है, क्योंकि आपको आम तौर पर क्लाइंट ऐप्लिकेशन से आने वाले अनुरोधों का आकलन करना होता है.
जवाब वाले मैसेज का आकलन करने के लिए, response पर सेट करें.
मैसेज पर सेट करें, ताकि अनुरोध के फ़्लो से नीति के अटैच होने पर,
अनुरोध के मैसेज का अपने-आप आकलन किया जा सके.
नीति के रिस्पॉन्स फ़्लो से अटैच होने पर, रिस्पॉन्स मैसेज
का आकलन किया जा सकता है.
डिफ़ॉल्ट वैल्यू | CANNOT TRANSLATE |
ज़रूरी है? | ज़रूरी नहीं |
स्ट्रीम किस तरह की है | स्ट्रिंग |
पैरंट एलिमेंट |
<Source>
|
बच्चों के एलिमेंट | कभी नहीं |
सिंटैक्स
<Source>
एलिमेंट इस सिंटैक्स का इस्तेमाल करता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Source>[message|request|response]</Source> ... </OASValidation>
उदाहरण
इस उदाहरण में, अनुरोध के फ़्लो से जुड़ी नीति के अटैच होने पर और जवाब के फ़्लो से नीति के अटैच होने पर, अनुरोध के मैसेज का अपने-आप आकलन हो जाता है:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Source>message</Source> </OASValidation>
<Source>
एलिमेंट में कोई एट्रिब्यूट या चाइल्ड एलिमेंट नहीं है.
स्कीमा
हर तरह की नीति को एक्सएमएल स्कीमा (.xsd
) से तय किया जाता है. रेफ़रंस के लिए, नीति स्कीमा GitHub पर उपलब्ध हैं.
गड़बड़ी कोड
यह सेक्शन गड़बड़ी के कोड और दिखाए गए गड़बड़ी के मैसेज के बारे में बताता है. साथ ही, इस नीति के ट्रिगर होने पर Edge की मदद से सेट की गई गड़बड़ी के वैरिएबल के बारे में बताता है. यह जानकारी जानना ज़रूरी है कि क्या गड़बड़ियों को ठीक करने के लिए, गड़बड़ी से जुड़े नियम बनाए जा रहे हैं. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.
रनटाइम से जुड़ी गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
गड़बड़ी का कोड | एचटीटीपी कोड स्थिति | वजह | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | दिए गए OpenAPI निर्देशों के हिसाब से, अनुरोध के मैसेज के मुख्य हिस्से की पुष्टि नहीं की जा सकती. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
नीति के |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाले किसी प्रॉक्सी को डिप्लॉय किया जाता है.
गड़बड़ी का नाम | वजह | |
---|---|---|
ResourceDoesNotExist |
<OASResource> एलिमेंट में बताया गया OpenAPI स्पेसिफ़िकेशन मौजूद नहीं है.
|
|
ResourceCompileFailed |
डिप्लॉयमेंट में शामिल OpenAPI स्पेसिफ़िकेशन में ऐसी गड़बड़ियां हैं जो इसे कंपाइल होने से रोकती हैं. इससे आम तौर पर यह पता चलता है कि यह खास जानकारी, अच्छी तरह से बनाई गई OpenAPI स्पेसिफ़िकेशन 3.0 नहीं है. | |
BadResourceURL |
<OASResource> एलिमेंट में दिया गया OpenAPI स्पेसिफ़िकेशन प्रोसेस नहीं किया जा सकता. ऐसा तब हो सकता है, जब फ़ाइल, JSON या YAML फ़ाइल न हो या
फ़ाइल का यूआरएल सही तरीके से न दिया गया हो.
|
गड़बड़ी वाले वैरिएबल
ये वैरिएबल तब सेट किए जाते हैं, जब यह नीति रनटाइम के दौरान कोई गड़बड़ी ट्रिगर करती है. ज़्यादा जानकारी के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी देखें.
वैरिएबल | जगह | उदाहरण |
---|---|---|
fault.name="fault_name" |
fault_name, गड़बड़ी का नाम है, जैसा कि ऊपर रनटाइम की गड़बड़ियां टेबल में दिया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name, उस नीति का उपयोगकर्ता तय किया गया नाम है जिसकी वजह से गड़बड़ी हुई है. | oasvalidation.myoaspolicy.failed = true |
काम करने वाली OpenAPI की खास जानकारी वाली सुविधाएं
OASValidation की नीति, OpenAPI की उन सुविधाओं के साथ काम करती है जिनकी खास जानकारी कैटगरी के हिसाब से इस टेबल में दी गई है. साथ ही, उन सुविधाओं की भी सूची दी गई है जो Google Play पर काम नहीं करतीं.
कैटगरी | इनकी अनुमति है | इनकी अनुमति नहीं है |
---|---|---|
डेटा टाइप के फ़ॉर्मैट | बूलियन तारीख तारीख-समय डबल ईमेल फ़्लोट int32/int64 ipv4/ipv6 md5 sha1/sha256/sha512 स्ट्रिंग uri uri-template uuid |
बाइनरी बाइट पासवर्ड |
डिसिमिनेटर ऑब्जेक्ट | मैपिंग propertyName |
लागू नहीं |
मीडिया प्रकार ऑब्जेक्ट | स्कीमा | कोड में बदलने का तरीका उदाहरण उदाहरण |
ऑपरेशन ऑब्जेक्ट | पैरामीटर requestBody रिस्पॉन्स सुरक्षा (आंशिक सहायता) |
कॉलबैक बंद किए गए सर्वर |
पैरामीटर ऑब्जेक्ट | अनुमति खाली है ( query , header , path ) मेंज़रूरी जवाब स्कीमा स्टाइल ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )ध्यान दें: deepObject सिर्फ़ स्ट्रिंग पैरामीटर के साथ काम करता है. अरे और नेस्ट किए गए ऑब्जेक्ट काम नहीं करते.
|
अनुमति रिज़र्व है रोक दी गई है उदाहरण उदाहरण कॉन्टेंट |
पाथ ऑब्जेक्ट | मिटाएं get head विकल्प पैरामीटर पैच पोस्ट put ट्रेस वैरिएबल |
सर्वर |
अनुरोध के मुख्य हिस्से में मौजूद ऑब्जेक्ट | ऐप्लिकेशन/json Application/hal+json ऐप्लिकेशन/x-www-form-urlencoded ( encoding ऑब्जेक्ट काम नहीं करता)कॉन्टेंट ज़रूरी है |
ऐप्लिकेशन/xml multipart/form-data text/plain text/xml |
रिस्पॉन्स ऑब्जेक्ट | ऐप्लिकेशन/json ऐप्लिकेशन/hal+json ऐप्लिकेशन/x-www-form-urlencoded ( encoding ऑब्जेक्ट काम नहीं करता)कॉन्टेंट हेडर |
ऐप्लिकेशन/xml लिंक टेक्स्ट/सादा टेक्स्ट/xml |
रिस्पॉन्स ऑब्जेक्ट | डिफ़ॉल्ट एचटीटीपी स्टेटस कोड |
लागू नहीं |
स्कीमा ऑब्जेक्ट | $ref additionalProperties (सिर्फ़ बूलियन फ़्लैग वाले वैरिएंट) allOf (अगर additionalProperties false है, तो इसे अनदेखा किया जाता है)anyOf enum खासज़्यादा/खास कम से कम format items items/minLength maxitems/min Items maxLength/minLength maxProperties/minProperties not nullable oneOf pattern ज़रूरी है |
अब काम नहीं करता उदाहरण readOnly writeOnly xml |
सिक्योरिटी स्कीम ऑब्जेक्ट | (header , query ) में (अगर type http है, तो इसे अनदेखा किया जाता है)नाम टाइप ( apiKey , http )
|
बियररफ़ॉर्मैट फ़्लो openIdConnectUrl स्कीम |
सर्वर ऑब्जेक्ट | यूआरएल वैरिएबल |
एक से ज़्यादा सर्वर की परिभाषाएं |