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> ব্যবহার করে এই বিকল্পটি কনফিগার করুন

দ্রষ্টব্য: নীতিটি ওপেনএপিআই স্পেসিফিকেশনের বিরুদ্ধে একটি অনুরোধ বার্তা বডিকে যাচাই করে শুধুমাত্র যদি বিষয়বস্তু-প্রকার 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 এ উপলব্ধ।

ত্রুটি কোড

এই বিভাগটি ফল্ট কোড এবং ত্রুটির বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷

রানটাইম ত্রুটি

নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷

ফল্ট কোড HTTP স্থিতি কারণ
steps.oasvalidation.Failed 500 প্রদত্ত OpenAPI স্পেসিফিকেশনের বিরুদ্ধে অনুরোধের বার্তার অংশ যাচাই করা যাবে না।
steps.oasvalidation.SourceMessageNotAvailable 500

নীতির <Source> উপাদানে উল্লেখ করা পরিবর্তনশীলটি হয় সুযোগের বাইরে বা সমাধান করা যায় না।

steps.oasvalidation.NotMessageVariable 500

<Source> উপাদানটি একটি ভেরিয়েবলে সেট করা হয়েছে যা বার্তা টাইপের নয়।

স্থাপনার ত্রুটি

আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷

ত্রুটির নাম কারণ
ResourceDoesNotExist <OASResource> উপাদানে উল্লেখিত OpenAPI স্পেসিফিকেশন বিদ্যমান নেই।
ResourceCompileFailed ওপেনএপিআই স্পেসিফিকেশন যা স্থাপনায় অন্তর্ভুক্ত করা হয়েছে এতে ত্রুটি রয়েছে যা এটিকে সংকলিত হতে বাধা দেয়। এটি সাধারণত নির্দেশ করে যে স্পেসিফিকেশনটি একটি সুগঠিত OpenAPI স্পেসিফিকেশন 3.0 নয়।
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-টেমপ্লেট
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
ভেরিয়েবল
একাধিক সার্ভার সংজ্ঞা

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