OAS যাচাইকরণ নীতি

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

OASValidation নীতি সম্পর্কে

OASValidation (OpenAPI স্পেসিফিকেশন ভ্যালিডেশন) নীতি আপনাকে OpenAPI 3.0 স্পেসিফিকেশন (JSON বা YAML) এর বিরুদ্ধে একটি ইনকামিং অনুরোধ বা প্রতিক্রিয়া বার্তা যাচাই করতে সক্ষম করে। দেখুন কি বিষয়বস্তু যাচাই করা হয়?

OASValidation নীতিটি ওপেনএপিআই স্পেসিফিকেশনের নাম উল্লেখ করে যেটি পলিসিটি সংযুক্ত করার ধাপটি কার্যকর হলে বৈধতার জন্য ব্যবহার করা হবে। OpenAPI স্পেসিফিকেশন API প্রক্সি বান্ডেলের মধ্যে নিম্নোক্ত স্ট্যান্ডার্ড অবস্থানে একটি সংস্থান হিসাবে সংরক্ষণ করা হয়: apiproxy/resources/oas । OpenAPI স্পেসিফিকেশনের অবশ্যই একটি .json , .yml , .yaml এক্সটেনশন থাকতে হবে৷

UI বা API ব্যবহার করে একটি API প্রক্সি বান্ডেলে একটি সংস্থান হিসাবে একটি OpenAPI স্পেসিফিকেশন যোগ করুন, যেমন সম্পদ পরিচালনা করুন -এ বর্ণিত।

কি বিষয়বস্তু বৈধ করা হয়?

নিম্নলিখিত সারণী অনুরোধ বার্তা বিষয়বস্তুর সারসংক্ষেপ করে যা OASValidation নীতি দ্বারা, উপাদান দ্বারা যাচাই করা হয়।

উপাদান বৈধতা অনুরোধ
বেসপথ API প্রক্সি দ্বারা সংজ্ঞায়িত বেসপাথ যাচাই করে; OpenAPI স্পেসিফিকেশনে নির্দিষ্ট করা বেসপাথ উপেক্ষা করে।
পথ যাচাই করে যে অনুরোধ পাথ (মাইনাস বেসপাথ) OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত পাথ প্যাটার্নগুলির একটির সাথে মেলে।
ক্রিয়া ওপেনএপিআই স্পেসিফিকেশনে পাথের জন্য ক্রিয়া সংজ্ঞায়িত করা হয়েছে তা যাচাই করে।
অনুরোধ বার্তা বডি
  • প্রয়োজনে অনুরোধে মেসেজ বডির অস্তিত্ব যাচাই করে।
  • ঐচ্ছিকভাবে, OpenAPI স্পেসিফিকেশনে অপারেশনের রিকোয়েস্ট বডি স্কিমার বিরুদ্ধে মেসেজ বডিকে যাচাই করে। <ValidateMessageBody> ব্যবহার করে এই বিকল্পটি কনফিগার করুন

দ্রষ্টব্য: নীতিটি OpenAPI স্পেসিফিকেশনের বিরুদ্ধে একটি অনুরোধ বার্তা বডিকে বৈধতা দেয় শুধুমাত্র যদি বিষয়বস্তু-প্রকার application/json এ সেট করা থাকে। যদি বিষয়বস্তুর ধরন application/json এ সেট না করা থাকে, তাহলে অনুরোধ বার্তার মূল অংশের বৈধতা স্বয়ংক্রিয়ভাবে পাস হবে (আসলে বিষয়বস্তু যাচাই না করেই)।

পরামিতি
  • পাথ, হেডার, ক্যোয়ারী এবং কুকি প্যারামিটার সহ অনুরোধে প্রয়োজনীয় প্যারামিটার উপস্থিত রয়েছে তা যাচাই করে।
  • যাচাই করে যে প্যারামিটার মানগুলি OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত মানগুলির সাথে মেলে৷
  • ঐচ্ছিকভাবে, ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়নি এমন অনুরোধে পরামিতি বিদ্যমান কিনা তা যাচাই করে। <AllowUnspecifiedParameters> ব্যবহার করে এই বিকল্পটি কনফিগার করুন

নিম্নলিখিত সারণী প্রতিক্রিয়া বার্তা বিষয়বস্তুর সংক্ষিপ্ত করে যা OASValidation নীতি দ্বারা, উপাদান দ্বারা যাচাই করা হয়।

উপাদান প্রতিক্রিয়া বৈধতা
পথ যাচাই করে যে অনুরোধ পাথ (মাইনাস বেসপাথ) OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত পাথ প্যাটার্নগুলির একটির সাথে মেলে।
ক্রিয়া ওপেনএপিআই স্পেসিফিকেশনে পাথের জন্য ক্রিয়া সংজ্ঞায়িত করা হয়েছে তা যাচাই করে।
প্রতিক্রিয়া বার্তা বডি
  • প্রয়োজনে প্রতিক্রিয়ায় বার্তার অংশের অস্তিত্ব যাচাই করে।
  • ওপেনএপিআই স্পেসিফিকেশনের প্রতিক্রিয়া শিরোনামগুলি প্রতিক্রিয়া বার্তায় উপস্থিত রয়েছে এবং প্রতিক্রিয়া শিরোনামগুলির মান স্কিমার সাথে মেলে তা যাচাই করে৷
  • ঐচ্ছিকভাবে, OpenAPI স্পেসিফিকেশনে অপারেশনের রেসপন্স বডি স্কিমার বিরুদ্ধে মেসেজ বডিকে যাচাই করে। <ValidateMessageBody> ব্যবহার করে এই বিকল্পটি কনফিগার করুন

নমুনা

নিম্নলিখিত উদাহরণগুলি কিছু উপায় দেখায় যেখানে আপনি একটি 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 স্পেসিফিকেশন যাচাইকরণ নীতি সংজ্ঞায়িত করে।

ডিফল্ট মান নীচের ডিফল্ট নীতি ট্যাব দেখুন
প্রয়োজন? প্রয়োজন
টাইপ জটিল বস্তু
অভিভাবক উপাদান n/a
শিশু উপাদান <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 প্রয়োজন

নীতির অভ্যন্তরীণ নাম। name বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে <DisplayName> উপাদানটি ব্যবহার করুন।

continueOnError মিথ্যা ঐচ্ছিক একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে "false" এ সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ। একটি নীতি ব্যর্থ হওয়ার পরেও প্রবাহ সম্পাদন অব্যাহত রাখতে "সত্য" তে সেট করুন৷
enabled সত্য ঐচ্ছিক নীতি প্রয়োগ করতে "সত্য" এ সেট করুন। নীতিটি "বন্ধ" করতে "মিথ্যা" এ সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না।
async মিথ্যা অবচয় এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷

শিশু উপাদান রেফারেন্স

এই বিভাগে <OASValidation> এর চাইল্ড উপাদানগুলি বর্ণনা করা হয়েছে।

<DisplayName>

ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, আরও স্বাভাবিক-শব্দযুক্ত নামের সাথে লেবেল করতে name বৈশিষ্ট্যের পাশাপাশি ব্যবহার করুন৷

<DisplayName> উপাদানটি সকল নীতিতে সাধারণ।

ডিফল্ট মান n/a
প্রয়োজন? ঐচ্ছিক। আপনি <DisplayName> বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হয়
টাইপ স্ট্রিং
অভিভাবক উপাদান < PolicyElement >
শিশু উপাদান কোনোটিই নয়

<DisplayName> উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

সিনট্যাক্স

<PolicyElement>
  <DisplayName>policy_display_name</DisplayName>
  ...
</PolicyElement>

উদাহরণ

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

<DisplayName> উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।

<OASResource>

এর বিরুদ্ধে যাচাই করার জন্য OpenAPI স্পেসিফিকেশন নির্দিষ্ট করে। আপনি এই ফাইল সংরক্ষণ করতে পারেন:

  • API প্রক্সি বান্ডেলে /apiproxy/resources/oas এর অধীনে API প্রক্সি স্কোপে
  • এপিআই প্রক্সি এডিটরের নেভিগেটর ভিউ এর Resources বিভাগে।

আরও তথ্যের জন্য, সম্পদ পরিচালনা দেখুন।

আপনি একটি বার্তা টেমপ্লেট ব্যবহার করে OpenAPI স্পেসিফিকেশন নির্দিষ্ট করতে পারেন, যেমন {oas.resource.url} । এই ক্ষেত্রে, ফ্লো ভেরিয়েবল oas.resource.url এর মান (কোঁকড়া ধনুর্বন্ধনীতে) মূল্যায়ন করা হবে এবং রানটাইমে পেলোড স্ট্রিংয়ে প্রতিস্থাপিত হবে। আরও তথ্যের জন্য, বার্তা টেমপ্লেটগুলি দেখুন।

ডিফল্ট মান কোনোটিই নয়
প্রয়োজন? প্রয়োজন
টাইপ স্ট্রিং
অভিভাবক উপাদান <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> উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।

<বিকল্প>

নীতির জন্য বিকল্পগুলি কনফিগার করে৷

ডিফল্ট মান n/a
প্রয়োজন? ঐচ্ছিক
টাইপ জটিল প্রকার
অভিভাবক উপাদান <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>

ওপেনএপিআই স্পেসিফিকেশনে অপারেশনের রিকোয়েস্ট বডি স্কিমার বিরুদ্ধে নীতিটি মেসেজ বডিকে যাচাই করবে কিনা তা নির্দিষ্ট করে। বার্তার মূল বিষয়বস্তু যাচাই করতে সত্যে সেট করুন। বার্তার মূল অংশটি বিদ্যমান তা যাচাই করতে মিথ্যাতে সেট করুন৷

আপনি <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>

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে হেডার, ক্যোয়ারী বা কুকি প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।

ডিফল্ট মান n/a
প্রয়োজন? ঐচ্ছিক
টাইপ জটিল প্রকার
অভিভাবক উপাদান <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>

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে হেডার প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত নয় এমন অনুরোধে হেডার প্যারামিটার নির্দিষ্ট করার অনুমতি দিতে, এই প্যারামিটারটিকে সত্যে সেট করুন। অন্যথায়, নীতি কার্যকর করতে ব্যর্থ হওয়ার জন্য এই প্যারামিটারটিকে মিথ্যাতে সেট করুন।

ডিফল্ট মান সত্য
প্রয়োজন? বুলিয়ান
টাইপ জটিল প্রকার
অভিভাবক উপাদান <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> এর সন্তান )

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে কোয়েরি প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত নয় এমন অনুরোধে ক্যোয়ারী প্যারামিটার নির্দিষ্ট করার অনুমতি দিতে, এই প্যারামিটারটিকে সত্যে সেট করুন। অন্যথায়, নীতি কার্যকর করতে ব্যর্থ হওয়ার জন্য এই প্যারামিটারটিকে মিথ্যাতে সেট করুন।

ডিফল্ট মান সত্য
প্রয়োজন? বুলিয়ান
টাইপ জটিল প্রকার
অভিভাবক উপাদান <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>

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে কুকি প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।

ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত নয় এমন অনুরোধে কুকি প্যারামিটার নির্দিষ্ট করার অনুমতি দিতে, এই প্যারামিটারটিকে সত্যে সেট করুন। অন্যথায়, নীতি কার্যকর করতে ব্যর্থ হওয়ার জন্য এই প্যারামিটারটিকে মিথ্যাতে সেট করুন।

ডিফল্ট মান সত্য
প্রয়োজন? বুলিয়ান
টাইপ জটিল প্রকার
অভিভাবক উপাদান <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 জন্য সেট করা হয়, কারণ আপনাকে সাধারণত ক্লায়েন্ট অ্যাপ থেকে অন্তর্মুখী অনুরোধগুলি মূল্যায়ন করতে হবে। প্রতিক্রিয়া বার্তা মূল্যায়নের জন্য প্রতিক্রিয়া সেট করুন। যখন নীতিটি অনুরোধের প্রবাহের সাথে সংযুক্ত থাকে তখন অনুরোধ বার্তাটি স্বয়ংক্রিয়ভাবে মূল্যায়ন করতে বার্তায় সেট করুন এবং যখন নীতিটি প্রতিক্রিয়া প্রবাহের সাথে সংযুক্ত থাকে তখন প্রতিক্রিয়া বার্তা৷

ডিফল্ট মান অনুরোধ
প্রয়োজন? ঐচ্ছিক
টাইপ স্ট্রিং
অভিভাবক উপাদান <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 এ উপলব্ধ।

ত্রুটি কোড

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 <Source> element of the policy is either out of scope or cannot be resolved.

steps.oasvalidation.NotMessageVariable 500

<Source> element is set to a variable that is not of type message.

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 স্পেসিফিকেশন বৈশিষ্ট্যগুলিকে সমর্থন করে যা নিম্নলিখিত সারণীতে, বিভাগ অনুসারে সংক্ষিপ্ত করা হয়েছে। যে বৈশিষ্ট্যগুলি সমর্থিত নয় সেগুলিও তালিকাভুক্ত করা হয়েছে৷

শ্রেণী সমর্থিত সমর্থিত নয়
ডেটা টাইপ ফরম্যাট বুলিয়ান
তারিখ
তারিখ-সময়
দ্বিগুণ
ইমেইল
ভাসা
int32/int64
ipv4/ipv6
md5
sha1/sha256/sha512
স্ট্রিং
ইউরি
uri-টেমপ্লেট
uuid
বাইনারি
বাইট
পাসওয়ার্ড
বৈষম্যকারী বস্তু ম্যাপিং
সম্পত্তির নাম
N/A
মিডিয়া টাইপ অবজেক্ট স্কিমা এনকোডিং
উদাহরণ
উদাহরণ
অপারেশন অবজেক্ট পরামিতি
অনুরোধবডি
প্রতিক্রিয়া
নিরাপত্তা (আংশিক সমর্থন)
কলব্যাক
অবমূল্যায়ন
সার্ভার
পরামিতি অবজেক্ট অনুমতি খালি মান
ইন ( query , header , path )
প্রয়োজনীয়
প্রতিক্রিয়া
স্কিমা
শৈলী ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )

দ্রষ্টব্য: deepObject শুধুমাত্র স্ট্রিং পরামিতি সমর্থন করে; অ্যারে এবং নেস্টেড অবজেক্ট সমর্থিত নয়।
অনুমতি সংরক্ষিত
অবমূল্যায়ন
উদাহরণ
উদাহরণ
বিষয়বস্তু
পাথ অবজেক্ট মুছে দিন
পেতে
মাথা
বিকল্প
পরামিতি
প্যাচ
পোস্ট
রাখা
ট্রেস
ভেরিয়েবল
সার্ভার
শরীরের বস্তু অনুরোধ অ্যাপ্লিকেশন/জেসন
অ্যাপ্লিকেশন/hal+json
অ্যাপ্লিকেশন/x-www-form-urlencoded ( encoding অবজেক্ট সমর্থিত নয়)
বিষয়বস্তু
প্রয়োজনীয়
অ্যাপ্লিকেশন/এক্সএমএল
মাল্টিপার্ট/ফর্ম-ডেটা
টেক্সট/প্লেইন
টেক্সট/এক্সএমএল
প্রতিক্রিয়া বস্তু অ্যাপ্লিকেশন/জেসন
অ্যাপ্লিকেশন/hal+json
অ্যাপ্লিকেশন/x-www-form-urlencoded ( encoding অবজেক্ট সমর্থিত নয়)
বিষয়বস্তু
হেডার
অ্যাপ্লিকেশন/এক্সএমএল
লিঙ্ক
টেক্সট/প্লেইন
টেক্সট/এক্সএমএল
প্রতিক্রিয়া অবজেক্ট ডিফল্ট
HTTP স্ট্যাটাস কোড
N/A
স্কিমা অবজেক্ট $রেফ
অতিরিক্ত বৈশিষ্ট্য (শুধুমাত্র বুলিয়ান পতাকা বৈকল্পিক)
allOf ( additionalProperties false হলে উপেক্ষা করা হয়)
anyOf
enum
এক্সক্লুসিভ ম্যাক্সিমাম/এক্সক্লুসিভ ন্যূনতম
বিন্যাস
আইটেম
সর্বোচ্চ/সর্বনিম্ন
সর্বোচ্চ আইটেম/মিনিট আইটেম
সর্বোচ্চ দৈর্ঘ্য/মিনিট দৈর্ঘ্য
maxProperties/minimproperties
একাধিক
না
বাতিলযোগ্য
oneof
প্যাটার্ন
বৈশিষ্ট্য
প্রয়োজনীয়
শিরোনাম
প্রকার
অনন্য আইটেম
অবমূল্যায়ন
উদাহরণ
শুধুমাত্র পঠন
শুধু লিখুন
xml
নিরাপত্তা প্রকল্প বস্তু ইন ( header , query ) (যদি type http হয় উপেক্ষা করা হয়)
নাম
টাইপ করুন ( apiKey , http )
bearer ফরম্যাট
প্রবাহিত
openIdConnectUrl
স্কিম
সার্ভার অবজেক্ট url
ভেরিয়েবল
একাধিক সার্ভার সংজ্ঞা

সম্পর্কিত বিষয়