আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন-এ যান। info
OASValidation নীতি সম্পর্কে
OASValidation (OpenAPI স্পেসিফিকেশন যাচাইকরণ) নীতি আপনাকে OpenAPI 3.0 স্পেসিফিকেশন (JSON বা YAML)-এর সাথে ইনকামিং অনুরোধ বা উত্তর মেসেজ যাচাই করতে দেয়। কোন কন্টেন্ট যাচাই করা হয়? তা দেখুন।
OASValidation নীতি OpenAPI স্পেসিফিকেশনের নাম নির্দিষ্ট করে যা নীতিটি যে ধাপের সাথে সংযুক্ত সেটি কার্যকর করার সময় যাচাইকরণের জন্য ব্যবহার করা হয়।
OpenAPI স্পেসিফিকেশন API প্রক্সি বান্ডেলের মধ্যে নিম্নলিখিত স্ট্যান্ডার্ড লোকেশনে রিসোর্স হিসেবে স্টোর করা হয়: apiproxy/resources/oas।
OpenAPI স্পেসিফিকেশনে অবশ্যই .json, .yml, .yaml এক্সটেনশন থাকতে হবে।
রিসোর্স ম্যানেজ করুন-এ যেমন বর্ণনা করা হয়েছে, সেই অনুযায়ী UI বা API ব্যবহার করে API প্রক্সি বান্ডেলে রিসোর্স হিসেবে OpenAPI স্পেসিফিকেশন যোগ করুন।
কোন কন্টেন্ট যাচাই করা হয়?
নিম্নলিখিত সারণীতে কম্পোনেন্ট অনুযায়ী OASValidation নীতি দ্বারা যাচাই করা অনুরোধ মেসেজের কন্টেন্ট সংক্ষিপ্তভাবে তুলে ধরা হয়েছে।
| উপাদানগুলি | যাচাইকরণের অনুরোধ করুন |
|---|---|
| বেসপাথ | API প্রক্সি দ্বারা সংজ্ঞায়িত বেসপাথ যাচাই করে; 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 স্পেসিফিকেশন যাচাইকরণ নীতি নির্ধারণ করে।
| ডিফল্ট ভ্যালু | নিচে ডিফল্ট নীতি ট্যাব দেখুন |
| আবশ্যক? | প্রয়োজনীয় |
| Type | জটিল অবজেক্ট |
| পেরেন্ট এলিমেন্ট | প্রযোজ্য নয় |
| চাইল্ড এলিমেন্ট |
<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 UI-তে আপনার ফ্লোতে 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 | N/A | প্রয়োজন | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে |
continueOnError | মিথ্যা | ঐচ্ছিক | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে "false" এ সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ। একটি নীতি ব্যর্থ হওয়ার পরেও প্রবাহ সম্পাদন অব্যাহত রাখতে "সত্য" তে সেট করুন৷ |
enabled | সত্য | ঐচ্ছিক | নীতি প্রয়োগ করতে "সত্য" এ সেট করুন। নীতিটি "বন্ধ" করতে "মিথ্যা" এ সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না। |
async | মিথ্যা | অবচয় | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ |
চাইল্ড এলিমেন্ট রেফারেন্স
এই বিভাগে <OASValidation>-এর চাইল্ড এলিমেন্ট সম্পর্কে বর্ণনা করা হয়েছে।
<DisplayName>
ম্যানেজমেন্ট UI প্রক্সি এডিটরে অন্য, আরও স্বাভাবিক-শোনা নাম দিয়ে নীতি লেবেল করতে
name অ্যাট্রিবিউট ছাড়াও ব্যবহার করুন।
<DisplayName> এলিমেন্ট সব নীতির ক্ষেত্রে প্রযোজ্য।
| ডিফল্ট ভ্যালু | প্রযোজ্য নয় |
| আবশ্যক? | ঐচ্ছিক। আপনি <DisplayName> বাদ দিলে, নীতির name অ্যাট্রিবিউটের ভ্যালু ব্যবহার করা হয় |
| Type | স্ট্রিং |
| পেরেন্ট এলিমেন্ট | <PolicyElement> |
| চাইল্ড এলিমেন্ট | কোনওটিই নয় |
<DisplayName> এলিমেন্ট নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিন্ট্যাক্স
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
উদাহরণ
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
<DisplayName> এলিমেন্টে কোনও অ্যাট্রিবিউট বা চাইল্ড এলিমেন্ট নেই।
<OASResource>
যাচাই করার জন্য OpenAPI স্পেসিফিকেশন উল্লেখ করে। আপনি এই ফাইলটি স্টোর করতে পারবেন:
- API প্রক্সি বান্ডেলে
/apiproxy/resources/oas-এর অধীনে API প্রক্সি স্কোপে - API প্রক্সি এডিটরের নেভিগেটর ভিউয়ের
Resourcesবিভাগে।
আরও তথ্যের জন্য, রিসোর্স ম্যানেজ করুন দেখুন।
আপনি মেসেজ টেমপ্লেট ব্যবহার করে OpenAPI স্পেসিফিকেশন উল্লেখ করতে পারেন, যেমন {oas.resource.url}।
এই ক্ষেত্রে, ফ্লো ভেরিয়েবল oas.resource.url-এর (কার্লি ব্র্যাকেটের মধ্যে) ভ্যালু মূল্যায়ন করা হবে
এবং রানটাইমে পেলোড স্ট্রিংয়ে প্রতিস্থাপন করা হবে।
আরও তথ্যের জন্য, মেসেজ টেমপ্লেট দেখুন।
| ডিফল্ট ভ্যালু | কোনওটিই নয় |
| আবশ্যক? | প্রয়োজনীয় |
| Type | স্ট্রিং |
| পেরেন্ট এলিমেন্ট |
<OASValidation>
|
| চাইল্ড এলিমেন্ট | কোনওটিই নয় |
সিন্ট্যাক্স
<OASResource> এলিমেন্ট নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণে my-spec.yaml স্পেসিফিকেশন উল্লেখ করা হয়েছে যা API প্রক্সি বান্ডেলে /apiproxy/resources/oas-এর অধীনে স্টোর করা আছে:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> </OASValidation>
<OASResource> এলিমেন্টে কোনও অ্যাট্রিবিউট বা চাইল্ড এলিমেন্ট নেই।
<Options>
নীতির জন্য বিকল্প কনফিগার করে।
| ডিফল্ট ভ্যালু | প্রযোজ্য নয় |
| আবশ্যক? | ঐচ্ছিক |
| Type | জটিল ধরন |
| পেরেন্ট এলিমেন্ট |
<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 অ্যাট্রিবিউট true হিসেবে সেট করে, যাচাইকরণ সংক্রান্ত সমস্যার পরেও ফ্লো এক্সিকিউশন চালিয়ে যাওয়া হবে কিনা তা আপনি নিয়ন্ত্রণ করতে পারবেন।
| ডিফল্ট ভ্যালু | মিথ্যা |
| আবশ্যক? | ঐচ্ছিক |
| Type | বুলিয়ান |
| পেরেন্ট এলিমেন্ট |
<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 স্পেসিফিকেশনে সংজ্ঞায়িত করা নেই, তাহলে নীতির আচরণ কনফিগার করে।
| ডিফল্ট ভ্যালু | প্রযোজ্য নয় |
| আবশ্যক? | ঐচ্ছিক |
| Type | জটিল ধরন |
| পেরেন্ট এলিমেন্ট |
<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 হিসেবে সেট করুন।
| ডিফল্ট ভ্যালু | সত্য |
| আবশ্যক? | বুলিয়ান |
| Type | জটিল ধরন |
| পেরেন্ট এলিমেন্ট |
<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 হিসেবে সেট করুন।
| ডিফল্ট ভ্যালু | সত্য |
| আবশ্যক? | বুলিয়ান |
| Type | জটিল ধরন |
| পেরেন্ট এলিমেন্ট |
<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 হিসেবে সেট করুন।
| ডিফল্ট ভ্যালু | সত্য |
| আবশ্যক? | বুলিয়ান |
| Type | জটিল ধরন |
| পেরেন্ট এলিমেন্ট |
<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-এ সেট করা হয়, কারণ আপনাকে সাধারণত ক্লায়েন্ট অ্যাপ থেকে ইনবাউন্ড অনুরোধ মূল্যায়ন করতে হবে।
উত্তর মেসেজ মূল্যায়ন করতে উত্তর বিকল্পে সেট করুন।
অনুরোধের ফ্লোতে নীতি অ্যাটাচ করা থাকলে অনুরোধের মেসেজ এবং উত্তরের ফ্লোতে নীতি অ্যাটাচ করা থাকলে উত্তরের মেসেজ অটোমেটিক মূল্যায়ন করতে মেসেজ হিসেবে সেট করুন।
| ডিফল্ট ভ্যালু | অনুরোধ |
| আবশ্যক? | ঐচ্ছিক |
| Type | স্ট্রিং |
| পেরেন্ট এলিমেন্ট |
<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> এলিমেন্টে কোনও অ্যাট্রিবিউট বা চাইল্ড এলিমেন্ট নেই।
স্কিমা
প্রতিটি নীতির ধরন XML স্কিমা (.xsd) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা
GitHub-এ উপলভ্য।
সমস্যার কোড
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | |
|---|---|---|---|
steps.oasvalidation.Failed |
500 | প্রদান করা OpenAPI স্পেসিফিকেশন অনুযায়ী অনুরোধ মেসেজের বডি যাচাই করা যাচ্ছে না। | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
নীতির |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | |
|---|---|---|
ResourceDoesNotExist |
<OASResource> এলিমেন্টে উল্লেখ করা OpenAPI স্পেসিফিকেশন নেই।
|
|
ResourceCompileFailed |
ডেপ্লয়মেন্টে অন্তর্ভুক্ত OpenAPI স্পেসিফিকেশনে এমন কিছু সমস্যা রয়েছে যার জন্য এটি কম্পাইল করা যাচ্ছে না। সাধারণত এর অর্থ হল, স্পেসিফিকেশনটি একটি সুগঠিত OpenAPI স্পেসিফিকেশন ৩.০ নয়। | |
BadResourceURL |
<OASResource> এলিমেন্টে উল্লেখ করা OpenAPI স্পেসিফিকেশন প্রসেস করা যাচ্ছে না। ফাইলটি JSON বা YAML ফাইল না হলে অথবা ফাইলের URL সঠিকভাবে নির্দিষ্ট করা না থাকলে এটি হতে পারে।
|
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oasvalidation.myoaspolicy.failed = true |
কাজ করে এমন OpenAPI স্পেসিফিকেশন ফিচার
OASValidation নীতি OpenAPI স্পেসিফিকেশন ফিচারগুলিকে সমর্থন করে যা নিম্নলিখিত সারণীতে বিভাগ অনুসারে সংক্ষিপ্ত করা হয়েছে। যেসব ফিচার কাজ করে না সেগুলিও তালিকাভুক্ত করা হয়েছে।
| বিভাগ | কাজ করে | কাজ করে না |
|---|---|---|
| ডেটার ধরনের ফর্ম্যাট | বুলিয়ান তারিখ তারিখ-সময় ডবল ইমেল ফ্লোট int32/int64 ipv4/ipv6 md5 sha1/sha256/sha512 স্ট্রিং uri uri-টেমপ্লেট uuid |
বাইনারি বাইট পাসওয়ার্ড |
| ডিসক্রিমিনেটর অবজেক্ট | ম্যাপিং propertyName |
প্রযোজ্য নয় |
| মিডিয়া টাইপ অবজেক্ট | স্কিমা | এনকোডিং উদাহরণ উদাহরণ |
| অপারেশন অবজেক্ট | parameters requestBody responses security (আংশিক সহায়তা) |
কলব্যাক বন্ধ করা হয়েছে সার্ভার |
| প্যারামিটার অবজেক্ট | 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 অবজেক্ট কাজ করে না)কন্টেন্ট প্রয়োজনীয় |
application/xml multipart/form-data text/plain text/xml |
| Response অবজেক্ট | application/json application/hal+json application/x-www-form-urlencoded ( encoding অবজেক্ট কাজ করে না)content headers |
application/xml links text/plain text/xml |
| Responses অবজেক্ট | default HTTP স্ট্যাটাস কোড |
প্রযোজ্য নয় |
| স্কিমা অবজেক্ট | $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 |
| নিরাপত্তা স্কিম অবজেক্ট | (header, query)-এ (type, http হলে উপেক্ষা করা হয়)নাম ধরন ( apiKey, http)
|
bearerFormat flows openIdConnectUrl scheme |
| সার্ভার অবজেক্ট | url variables |
একাধিক সার্ভারের সংজ্ঞা |