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

OASValidation की नीति के बारे में जानकारी
OASValidation (OpenAPI स्पेसिफ़िकेशन की पुष्टि) नीति की मदद से, आने वाले अनुरोध या रिस्पॉन्स मैसेज की पुष्टि, OpenAPI 3.0 स्पेसिफ़िकेशन (JSON या YAML) के हिसाब से की जा सकती है. देखें कि किस तरह के कॉन्टेंट की पुष्टि की जाती है?
OASValidation नीति, पुष्टि करने के लिए इस्तेमाल किए जाने वाले OpenAPI स्पेसिफ़िकेशन का नाम बताती है. यह नाम तब इस्तेमाल किया जाता है, जब नीति जिस चरण से जुड़ी होती है वह चरण पूरा हो जाता है.
OpenAPI स्पेसिफ़िकेशन को एपीआई प्रॉक्सी बंडल में, संसाधन के तौर पर यहां दी गई स्टैंडर्ड जगह पर सेव किया जाता है: apiproxy/resources/oas
.
OpenAPI स्पेसिफ़िकेशन में .json
, .yml
, .yaml
एक्सटेंशन होना चाहिए.
संसाधन मैनेज करना में बताए गए तरीके से, यूज़र इंटरफ़ेस (यूआई) या एपीआई का इस्तेमाल करके, एपीआई प्रॉक्सी बंडल में संसाधन के तौर पर OpenAPI स्पेसिफ़िकेशन जोड़ें.
किस तरह के कॉन्टेंट की पुष्टि की जाती है?
इस टेबल में, OASValidation नीति के तहत पुष्टि किए जाने वाले अनुरोध मैसेज के कॉन्टेंट के बारे में बताया गया है.
घटक | सत्यापन का अनुरोध करें |
---|---|
Basepath | एपीआई प्रॉक्सी से तय किए गए बेसपाथ की पुष्टि करता है. साथ ही, OpenAPI स्पेसिफ़िकेशन में बताए गए बेसपाथ को अनदेखा करता है. |
पथ | यह पुष्टि करता है कि अनुरोध पाथ (बेसपाथ को छोड़कर) OpenAPI स्पेसिफ़िकेशन में बताए गए पाथ पैटर्न से मेल खाता है या नहीं. |
क्रिया | यह पुष्टि करता है कि OpenAPI स्पेसिफ़िकेशन में, पाथ के लिए क्रिया तय की गई है. |
अनुरोध का मुख्य हिस्सा |
ध्यान दें: नीति, अनुरोध मैसेज के मुख्य हिस्से की पुष्टि, OpenAPI स्पेसिफ़िकेशन के हिसाब से सिर्फ़ तब करती है, जब Content-Type को
|
पैरामीटर |
|
नीचे दी गई टेबल में, OASValidation नीति के हिसाब से पुष्टि किए गए रिस्पॉन्स मैसेज के कॉन्टेंट के बारे में बताया गया है.
घटक | प्रतिक्रिया पुष्टि |
---|---|
पथ | यह पुष्टि करता है कि अनुरोध पाथ (बेसपाथ को छोड़कर) OpenAPI स्पेसिफ़िकेशन में बताए गए पाथ पैटर्न से मेल खाता है या नहीं. |
क्रिया | यह पुष्टि करता है कि OpenAPI स्पेसिफ़िकेशन में, पाथ के लिए क्रिया तय की गई है. |
जवाब का मुख्य हिस्सा |
|
सैंपल
यहां दिए गए उदाहरणों में, OpenAPI 3.0 स्पेसिफ़िकेशन के हिसाब से मैसेज की पुष्टि करने के लिए, OASValidation नीति का इस्तेमाल करने के कुछ तरीके बताए गए हैं.
अनुरोध वाले मैसेज की पुष्टि करना
नीचे दिए गए उदाहरण में, myoaspolicy
नीति अनुरोध मैसेज के मुख्य हिस्से की पुष्टि करती है. यह पुष्टि, my-spec.json
OpenAPI Specification में बताए गए ऑपरेशन के अनुरोध मैसेज के मुख्य हिस्से के स्कीमा के हिसाब से की जाती है.
<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 यूज़र इंटरफ़ेस (यूआई) में अपने फ़्लो में OAS की पुष्टि करने की नीति जोड़ने पर, डिफ़ॉल्ट सेटिंग दिख रही हैं:
<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>
Use in addition to the name
attribute to label the policy in the
management UI proxy editor with a different, more natural-sounding name.
The <DisplayName>
element is common to all policies.
Default Value | n/a |
Required? | Optional. If you omit <DisplayName> , the value of the
policy's name attribute is used |
Type | String |
Parent Element | <PolicyElement> |
Child Elements | None |
The <DisplayName>
element uses the following syntax:
Syntax
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
Example
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
The <DisplayName>
element has no attributes or child elements.
<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>
उदाहरण
इस उदाहरण में, एपीआई प्रॉक्सी बंडल में /apiproxy/resources/oas
में सेव की गई my-spec.yaml
खास जानकारी का रेफ़रंस दिया गया है:
<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 स्पेसिफ़िकेशन में, मैसेज के मुख्य हिस्से की पुष्टि, ऑपरेशन के अनुरोध के मुख्य हिस्से के स्कीमा के हिसाब से करनी चाहिए या नहीं. मैसेज के मुख्य हिस्से के कॉन्टेंट की पुष्टि करने के लिए, इसे सही है पर सेट करें. सिर्फ़ मैसेज के मुख्य हिस्से के मौजूद होने की पुष्टि करने के लिए, इसकी वैल्यू को गलत है पर सेट करें.
पुष्टि से जुड़ी गड़बड़ी के बाद, फ़्लो को जारी रखने या नहीं रखने की सेटिंग को कंट्रोल किया जा सकता है. इसके लिए, <OASValidation>
एलिमेंट के लिए continueOnError
एट्रिब्यूट की वैल्यू को true पर सेट करें.
डिफ़ॉल्ट वैल्यू | गलत |
क्या यह ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | बूलियन |
पैरंट एलिमेंट |
<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 स्पेसिफ़िकेशन में तय नहीं किए गए हैं, इस पैरामीटर को सही है पर सेट करें. इसके अलावा, नीति लागू न हो, इसके लिए इस पैरामीटर को गलत है पर सेट करें.
डिफ़ॉल्ट वैल्यू | सही |
क्या यह ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<AllowUnspecifiedParameters>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
<Header>
एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Header>[true|false]</Header> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
उदाहरण
नीचे दिए गए उदाहरण में, नीति को इस तरह कॉन्फ़िगर किया गया है कि अगर अनुरोध में ऐसा हेडर पैरामीटर दिया गया है जो OpenAPI Specification में तय नहीं किया गया है, तो अनुरोध अस्वीकार कर दिया जाए.
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Query>
(<AllowUnspecifiedParameters>
का बच्चा)
अगर अनुरोध में ऐसे क्वेरी पैरामीटर मौजूद हैं जिन्हें OpenAPI स्पेसिफ़िकेशन में तय नहीं किया गया है, तो नीति के व्यवहार को कॉन्फ़िगर करता है.
अनुरोध में ऐसे क्वेरी पैरामीटर शामिल करने की अनुमति देने के लिए जो OpenAPI स्पेसिफ़िकेशन में नहीं दिए गए हैं, इस पैरामीटर को सही पर सेट करें. इसके अलावा, नीति लागू न हो, इसके लिए इस पैरामीटर को गलत है पर सेट करें.
डिफ़ॉल्ट वैल्यू | सही |
क्या यह ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<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 स्पेसिफ़िकेशन में नहीं बताए गए हैं, इस पैरामीटर को सही पर सेट करें. इसके अलावा, नीति लागू न हो, इसके लिए इस पैरामीटर को गलत है पर सेट करें.
डिफ़ॉल्ट वैल्यू | सही |
क्या यह ज़रूरी है? | बूलियन |
स्ट्रीम किस तरह की है | कॉम्प्लेक्स टाइप |
पैरंट एलिमेंट |
<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
पर सेट किया जाता है, क्योंकि आपको आम तौर पर क्लाइंट ऐप्लिकेशन से आने वाले अनुरोधों का आकलन करना होगा.
जवाब वाले मैसेज का आकलन करने के लिए, इसे जवाब पर सेट करें.
मैसेज पर सेट करें, ताकि अनुरोध फ़्लो में नीति अटैच होने पर, अनुरोध मैसेज का अपने-आप आकलन किया जा सके. साथ ही, जवाब फ़्लो में नीति अटैच होने पर, जवाब मैसेज का अपने-आप आकलन किया जा सके.
डिफ़ॉल्ट वैल्यू | 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 पर नीति स्कीमा उपलब्ध हैं.
गड़बड़ी कोड
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Request message body cannot be validated against the provided OpenAPI Specification. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
Variable specified in the |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | |
---|---|---|
ResourceDoesNotExist |
OpenAPI Specification referenced in the <OASResource> element does not exist.
|
|
ResourceCompileFailed |
OpenAPI Specification that is included in the deployment contains errors that prevent it from being compiled. This generally indicates that the specification is not a well-formed OpenAPI Specification 3.0. | |
BadResourceURL |
OpenAPI Specification referenced in the <OASResource> element cannot be processed. This can occur if the file is not a JSON or YAML file or the
file URL is not specified correctly.
|
Fault variables
These variables are set when this policy triggers an error at runtime. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oasvalidation.myoaspolicy.failed = true |
OpenAPI स्पेसिफ़िकेशन की सुविधाएं
OASValidation नीति, OpenAPI स्पेसिफ़िकेशन की उन सुविधाओं के साथ काम करती है जिनकी खास जानकारी नीचे दी गई टेबल में कैटगरी के हिसाब से दी गई है. साथ ही, उन सुविधाओं की जानकारी भी दी गई है जो काम नहीं करती हैं.
कैटगरी | इनकी अनुमति है | ये काम नहीं करते हैं |
---|---|---|
डेटा टाइप के फ़ॉर्मैट | boolean date date-time double float int32/int64 ipv4/ipv6 md5 sha1/sha256/sha512 string uri uri-template uuid |
बाइनरी बाइट पासवर्ड |
डिस्क्रिमिनेटर ऑब्जेक्ट | mapping propertyName |
लागू नहीं |
मीडिया टाइप ऑब्जेक्ट | स्कीमा | कोड में बदलना उदाहरण उदाहरण |
ऑपरेशंस ऑब्जेक्ट | parameters requestBody responses security (partial support) |
कॉलबैक अब काम नहीं करते सर्वर |
पैरामीटर ऑब्जेक्ट | allowEmptyValue in ( query , header , path )required responses schema style ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )ध्यान दें: deepObject सिर्फ़ स्ट्रिंग पैरामीटर के साथ काम करता है. इसमें ऐरे और नेस्ट किए गए ऑब्जेक्ट काम नहीं करते.
|
allowReserved deprecated example examples content |
पाथ ऑब्जेक्ट | delete get head options parameters patch post put trace variables |
सर्वर |
अनुरोध का मुख्य हिस्सा | application/json application/hal+json application/x-www-form-urlencoded ( encoding ऑब्जेक्ट काम नहीं करता)content ज़रूरी है |
application/xml multipart/form-data text/plain text/xml |
रिस्पॉन्स ऑब्जेक्ट | application/json application/hal+json application/x-www-form-urlencoded ( encoding ऑब्जेक्ट काम नहीं करता)content headers |
application/xml links text/plain text/xml |
Responses ऑब्जेक्ट | डिफ़ॉल्ट एचटीटीपी स्टेटस कोड |
लागू नहीं |
स्कीमा ऑब्जेक्ट | $ref additionalProperties (सिर्फ़ बूलियन फ़्लैग वैरिएंट) allOf ( additionalProperties के false होने पर अनदेखा किया जाता है)anyOf enum exclusiveMaximum/exclusiveMinimum format items maximum/minimum maxItems/minItems maxLength/minLength maxProperties/minProperties multipleOf not nullable oneOf pattern properties required title type uniqueItems |
deprecated example readOnly writeOnly xml |
सुरक्षा स्कीम ऑब्जेक्ट | in (header , query ) (type के http होने पर अनदेखा किया जाता है)name type ( apiKey , http )
|
bearerFormat flows openIdConnectUrl scheme |
सर्वर ऑब्जेक्ट | url variables |
एक से ज़्यादा सर्वर की परिभाषाएं |