आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
OASपुष्टि करने की नीति के बारे में जानकारी
OASValidation (OpenAPI Specification Validation) नीति की मदद से आपको किसी OpenAPI 3.0 स्पेसिफ़िकेशन (JSON या YAML) के हिसाब से आने वाले अनुरोध या रिस्पॉन्स मैसेज की पुष्टि करने में मदद मिलती है. देखें कि किस कॉन्टेंट की पुष्टि की गई है?
जिस चरण पर नीति अटैच की गई है उसके लागू होने पर, OASपुष्टि नीति OpenAPI की खास बातों का नाम तय करती है. इसका इस्तेमाल पुष्टि करने के लिए किया जाता है.
OpenAPI की खास जानकारी को एपीआई प्रॉक्सी बंडल में नीचे दिए गए मानक जगह पर संसाधन के तौर पर सेव किया जाता है: apiproxy/resources/oas
.
OpenAPI की खास बातों में .json
, .yml
, .yaml
एक्सटेंशन होना चाहिए.
संसाधनों को मैनेज करें में बताए गए तरीके से, यूज़र इंटरफ़ेस (यूआई) या एपीआई का इस्तेमाल करके, किसी एपीआई प्रॉक्सी बंडल में संसाधन के तौर पर OpenAPI की खास बातें जोड़ें.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैकिस कॉन्टेंट की पुष्टि की गई है?
नीचे दी गई टेबल में उस अनुरोध वाले मैसेज के कॉन्टेंट की खास जानकारी दी गई है जिसकी पुष्टि, OASValidation नीति के तहत कॉम्पोनेंट के हिसाब से की गई है.
घटक | सत्यापन का अनुरोध करें |
---|---|
बेसपाथ | एपीआई प्रॉक्सी से तय किए गए बेसपाथ की पुष्टि करता है; OpenAPI स्पेसिफ़िकेशन में तय किए गए बेसपाथ को अनदेखा करता है. |
पाथ | इस बात की पुष्टि करता है कि अनुरोध का पाथ (बेसपाथ को हटाकर), OpenAPI स्पेसिफ़िकेशन में तय किए गए किसी पाथ पैटर्न में से किसी एक से मेल खाता हो. |
क्रिया | यह पुष्टि करता है कि OpenAPI स्पेसिफ़िकेशन में, पाथ के लिए क्रिया को तय किया गया है. |
अनुरोध के मैसेज का मुख्य हिस्सा |
ध्यान दें: यह नीति, अनुरोध वाले मैसेज के मुख्य हिस्से की पुष्टि OpenAPI स्पेसिफ़िकेशन के मुताबिक सिर्फ़ तब करती है, जब कॉन्टेंट टाइप को इस पर सेट किया गया हो
|
पैरामीटर |
|
नीचे दी गई टेबल में उस जवाब वाले मैसेज का कॉन्टेंट के बारे में खास जानकारी दी गई है जिसकी पुष्टि, OASValidation नीति के तहत कॉम्पोनेंट के हिसाब से की गई है.
घटक | प्रतिक्रिया पुष्टि |
---|---|
पाथ | इस बात की पुष्टि करता है कि अनुरोध का पाथ (बेसपाथ को हटाकर), OpenAPI स्पेसिफ़िकेशन में तय किए गए किसी पाथ पैटर्न में से किसी एक से मेल खाता हो. |
क्रिया | यह पुष्टि करता है कि OpenAPI स्पेसिफ़िकेशन में, पाथ के लिए क्रिया को तय किया गया है. |
जवाब के मैसेज का मुख्य हिस्सा |
|
सैंपल
नीचे दिए गए उदाहरणों में, OASपुष्टि का इस्तेमाल करने के कुछ तरीके बताए गए हैं की पुष्टि करें.
अनुरोध के मैसेज की पुष्टि करें
यहां दिए गए उदाहरण में, 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
गड़बड़ी दिखती है.
पैरामीटर की पुष्टि करना
यहां दिए गए उदाहरण में, नीति को कॉन्फ़िगर नहीं किया जा सकता है. ऐसा तब होता है, जब अनुरोध में हेडर, क्वेरी या कुकी पैरामीटर में तय किया गया है.
<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
से जुड़े एपीआई प्रॉक्सी दायरे में - एपीआई प्रॉक्सी एडिटर के Navigator व्यू के
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>
एलिमेंट में कोई एट्रिब्यूट या चाइल्ड एलिमेंट नहीं है.
<Options>
इस नीति के तहत, विकल्प कॉन्फ़िगर करता है.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<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
एट्रिब्यूट सेट करके, यह कंट्रोल किया जा सकता है कि पुष्टि की गड़बड़ी के बाद, फ़्लो एक्ज़ीक्यूट होता रहे या नहीं
एलिमेंट को सही पर सेट करें.
डिफ़ॉल्ट वैल्यू | गलत |
ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | बूलियन |
पैरंट एलिमेंट |
<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>
उदाहरण
यहां दिए गए उदाहरण में, नीति को कॉन्फ़िगर नहीं किया जा सकता है. ऐसा तब होता है, जब अनुरोध में हेडर, क्वेरी या कुकी पैरामीटर में तय किया गया है.
<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 पर सेट करें, ताकि नीति लागू न हो पाए.
डिफ़ॉल्ट वैल्यू | सही |
ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
<Header>
एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Header>[true|false]</Header> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
यहां दिए गए उदाहरण में, नीति को कॉन्फ़िगर नहीं किया जा सकता है. ऐसा तब किया जाता है, जब अनुरोध में हेडर पैरामीटर के बारे में बताया गया हो में तय किया गया है.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Query>
(<AllowUnspecifiedParameters>
का बच्चा)
अगर क्वेरी पैरामीटर मौजूद हैं, तो नीति के व्यवहार को कॉन्फ़िगर करती है उस अनुरोध में मौजूद है जिसे OpenAPI स्पेसिफ़िकेशन में तय नहीं किया गया है.
ऐसे क्वेरी पैरामीटर को अनुरोध में दर्ज करने की अनुमति देने के लिए जिन्हें OpenAPI स्पेसिफ़िकेशन में तय नहीं किया गया है, इस पैरामीटर को true पर सेट करें. अगर ऐसा नहीं है, तो इस पैरामीटर को false पर सेट करें, ताकि नीति लागू न हो पाए.
डिफ़ॉल्ट वैल्यू | सही |
ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
<Query>
एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Query>[true|false]</Query> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
यहां दिए गए उदाहरण में, नीति को कॉन्फ़िगर नहीं किया जा सकता है. ऐसा तब किया जाता है, जब अनुरोध में कोई क्वेरी पैरामीटर तय किया गया हो में तय किया गया है.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Query>false</Query> </AllowUnspecifiedParameters> </Options> </OASValidation>
कुकी पैरामीटर मौजूद होने पर, नीति के व्यवहार को कॉन्फ़िगर करती है उस अनुरोध में मौजूद है जिसे OpenAPI स्पेसिफ़िकेशन में तय नहीं किया गया है.
कुकी पैरामीटर को ऐसे अनुरोध में दर्ज करने की अनुमति देने के लिए जिसे OpenAPI स्पेसिफ़िकेशन में तय नहीं किया गया है, इस पैरामीटर को true पर सेट करें. अगर ऐसा नहीं है, तो इस पैरामीटर को false पर सेट करें, ताकि नीति लागू न हो पाए.
डिफ़ॉल्ट वैल्यू | सही |
ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
<Cookie>
एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Query>[true|false]</Query> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
यहां दिए गए उदाहरण में, नीति को कॉन्फ़िगर नहीं किया जा सकता है. ऐसा तब किया जाता है, जब अनुरोध में कोई क्वेरी पैरामीटर तय किया गया हो में तय किया गया है.
<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 की खास बातें
OASपुष्टि करने की नीति, उन OpenAPI स्पेसिफ़िकेशन सुविधाओं के साथ काम करती है जिनकी कैटगरी के हिसाब से यहां दी गई टेबल में खास जानकारी दी गई है. ऐसी सुविधाएं भी सूची में शामिल हैं जो काम नहीं करतीं.
कैटगरी | इनकी अनुमति है | ये काम नहीं करते हैं |
---|---|---|
डेटा टाइप के फ़ॉर्मैट | बूलियन तारीख तारीख-समय डबल ईमेल फ़्लोट int32/int64 ipv4/ipv6 md5 sha1/sha256/sha512 स्ट्रिंग यूरी uri-template यूयूआईडी |
बाइनरी बाइट पासवर्ड |
डिक्रिमिनेटर ऑब्जेक्ट | मैपिंग propertyName |
लागू नहीं |
मीडिया टाइप ऑब्जेक्ट | स्कीमा | कोड में बदलने का तरीका उदाहरण उदाहरण |
ऑपरेशन ऑब्जेक्ट | पैरामीटर requestBody जवाब सुरक्षा (आंशिक सहायता) |
कॉलबैक बंद किया गया सर्वर |
पैरामीटर ऑब्जेक्ट | allowEmptyValue ( query , header , path )में ज़रूरी है जवाब स्कीमा स्टाइल ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )ध्यान दें: deepObject में सिर्फ़ स्ट्रिंग पैरामीटर इस्तेमाल किए जा सकते हैं; अरे और नेस्ट किए गए ऑब्जेक्ट काम नहीं करते.
|
allowReserved बंद किया गया उदाहरण उदाहरण वीडियो |
पाथ ऑब्जेक्ट | मिटाएं पाएं सिर विकल्प पैरामीटर पैच पोस्ट डालें ट्रेस करें वैरिएबल |
सर्वर |
मुख्य हिस्से के लिए अनुरोध करें | application/json application/hal+json ऐप्लिकेशन/x-www-form-urlencoded ( encoding ऑब्जेक्ट काम नहीं करता)कॉन्टेंट आवश्यक |
ऐप्लिकेशन/xml मल्टीपार्ट/फ़ॉर्म-डेटा टेक्स्ट/सादा टेक्स्ट/एक्सएमएल |
रिस्पॉन्स ऑब्जेक्ट | application/json application/hal+json ऐप्लिकेशन/x-www-form-urlencoded ( encoding ऑब्जेक्ट काम नहीं करता)कॉन्टेंट हेडर |
ऐप्लिकेशन/xml लिंक टेक्स्ट/सादा टेक्स्ट/एक्सएमएल |
रिस्पॉन्स ऑब्जेक्ट | डिफ़ॉल्ट एचटीटीपी स्टेटस कोड |
लागू नहीं |
स्कीमा ऑब्जेक्ट | $ref अतिरिक्त प्रॉपर्टी (सिर्फ़ बूलियन फ़्लैग के वैरिएंट के लिए) allOf (अगर additionalProperties , false है, तो इस पर ध्यान नहीं दिया जाएगा)anyOf Enum exclusiveMaximum/exclusiveMinimum फ़ॉर्मैट आइटम ज़्यादा से ज़्यादा/कम से कम ज़्यादा से ज़्यादा आइटम/कम से कम आइटम maxLength/minLength maxProperties/minProperties multipleOf नहीं अमान्य oneOf पैटर्न प्रॉपर्टी ज़रूरी है टाइटल टाइप uniqueItems |
बंद किया गया उदाहरण readOnly writeOnly एक्सएमएल |
सिक्योरिटी स्कीम ऑब्जेक्ट | (header , query ) में (अगर type http है, तो इसे अनदेखा किया जाएगा)नाम प्रकार ( apiKey , http )
|
bearerFormat फ़्लो openIdConnectUrl स्कीम |
सर्वर ऑब्जेक्ट | url वैरिएबल |
एक से ज़्यादा सर्वर की परिभाषाएं |