خط مشی اعتبارسنجی OAS

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

درباره سیاست اعتبارسنجی OAS

سیاست OASValidation (اعتبارسنجی مشخصات OpenAPI) شما را قادر می‌سازد تا یک درخواست یا پاسخ ورودی را با استفاده از مشخصات OpenAPI 3.0 (JSON یا YAML) اعتبارسنجی کنید. ببینید چه محتوایی اعتبارسنجی می‌شود؟

سیاست OASValidation نام مشخصات OpenAPI را برای استفاده جهت اعتبارسنجی هنگام اجرای مرحله‌ای که سیاست به آن متصل شده است، مشخص می‌کند. مشخصات OpenAPI به عنوان یک منبع در مکان استاندارد زیر در بسته پروکسی API ذخیره می‌شود: apiproxy/resources/oas . مشخصات OpenAPI باید دارای پسوند .json ، .yml ، .yaml باشد.

همانطور که در مدیریت منابع توضیح داده شده است، با استفاده از رابط کاربری یا API، یک OpenAPI Specification را به عنوان منبع به یک بسته پروکسی API اضافه کنید.

چه محتوایی تایید شده است؟

جدول زیر محتوای پیام درخواستی را که توسط سیاست OASValidation اعتبارسنجی می‌شود، بر اساس مؤلفه خلاصه می‌کند.

قطعات درخواست اعتبارسنجی
مسیر پایه مسیر پایه تعریف شده توسط پروکسی API را اعتبارسنجی می‌کند؛ مسیر پایه مشخص شده در مشخصات OpenAPI را نادیده می‌گیرد.
مسیر تأیید می‌کند که مسیر درخواست (منهای مسیر پایه) با یکی از الگوهای مسیر تعریف‌شده در مشخصات OpenAPI مطابقت دارد.
فعل تأیید می‌کند که فعل برای مسیر در مشخصات OpenAPI تعریف شده است.
درخواست متن پیام
  • در صورت لزوم، وجود بدنه پیام در درخواست را تأیید می‌کند.
  • به صورت اختیاری، بدنه پیام را در برابر طرح بدنه درخواست عملیات در مشخصات OpenAPI اعتبارسنجی می‌کند. این گزینه را با استفاده از <ValidateMessageBody> پیکربندی کنید.

نکته: این سیاست، بدنه‌ی پیام درخواست را تنها در صورتی که نوع محتوا (Content-Type) روی application/json تنظیم شده باشد، در برابر مشخصات OpenAPI اعتبارسنجی می‌کند. اگر نوع محتوا روی application/json تنظیم نشده باشد، اعتبارسنجی بدنه‌ی پیام درخواست به طور خودکار (بدون اعتبارسنجی واقعی محتوا) انجام می‌شود.

پارامترها
  • تأیید می‌کند که پارامترهای مورد نیاز در درخواست، از جمله پارامترهای مسیر، هدر، پرس و جو و کوکی، وجود دارند.
  • تأیید می‌کند که مقادیر پارامتر با مقادیر تعریف‌شده در مشخصات OpenAPI مطابقت دارند.
  • به صورت اختیاری، اعتبارسنجی می‌کند که آیا پارامترهایی در درخواست وجود دارند که در مشخصات OpenAPI تعریف نشده‌اند یا خیر. این گزینه را با استفاده از <AllowUnspecifiedParameters> پیکربندی کنید.

جدول زیر محتوای پیام پاسخی را که توسط سیاست OASValidation اعتبارسنجی می‌شود، بر اساس مؤلفه خلاصه می‌کند.

قطعات اعتبارسنجی پاسخ
مسیر تأیید می‌کند که مسیر درخواست (منهای مسیر پایه) با یکی از الگوهای مسیر تعریف‌شده در مشخصات OpenAPI مطابقت دارد.
فعل تأیید می‌کند که فعل برای مسیر در مشخصات OpenAPI تعریف شده است.
متن پیام پاسخ
  • در صورت لزوم، وجود بدنه پیام در پاسخ را تأیید می‌کند.
  • تأیید می‌کند که هدرهای پاسخ در مشخصات OpenAPI در پیام پاسخ وجود دارند و مقدار هدرهای پاسخ با طرحواره مطابقت دارد.
  • به صورت اختیاری، بدنه پیام را در برابر طرح بدنه پاسخ عملیات در مشخصات OpenAPI اعتبارسنجی می‌کند. این گزینه را با استفاده از <ValidateMessageBody> پیکربندی کنید.

نمونه‌ها

مثال‌های زیر برخی از روش‌هایی را نشان می‌دهند که می‌توانید از سیاست OASValidation برای اعتبارسنجی پیام‌ها در برابر مشخصات OpenAPI 3.0 استفاده کنید.

اعتبارسنجی پیام درخواست

در مثال زیر، سیاست 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>

سیاست پیش‌فرض

مثال زیر تنظیمات پیش‌فرض را هنگام اضافه کردن یک سیاست اعتبارسنجی OAS به جریان خود در رابط کاربری 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 N/A ضروری

نام داخلی سیاست. مقدار مشخصه name می تواند شامل حروف، اعداد، فاصله، خط تیره، زیرخط و نقطه باشد. این مقدار نمی تواند بیش از 255 کاراکتر باشد.

در صورت تمایل، از عنصر <DisplayName> برای برچسب گذاری خط مشی در ویرایشگر پروکسی UI مدیریت با نامی به زبان طبیعی دیگر استفاده کنید.

continueOnError نادرست اختیاری برای بازگرداندن خطا در صورت شکست خط مشی، روی "false" تنظیم کنید. این رفتار مورد انتظار برای اکثر سیاست ها است. روی "true" تنظیم کنید تا اجرای جریان حتی پس از شکست خط مشی ادامه یابد.
enabled درست است، واقعی اختیاری برای اجرای این خط‌مشی روی «درست» تنظیم کنید. برای «خاموش کردن» خط مشی، روی «نادرست» تنظیم کنید. این سیاست حتی اگر به یک جریان وابسته باشد اجرا نخواهد شد.
async نادرست منسوخ این ویژگی منسوخ شده است.

مرجع عنصر فرزند

این بخش عناصر فرزند <OASValidation> را شرح می‌دهد.

<DisplayName>

علاوه بر ویژگی 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 از نمای ناوبر (Navigator) ویرایشگر پروکسی API.

برای اطلاعات بیشتر، به مدیریت منابع مراجعه کنید.

شما می‌توانید مشخصات OpenAPI را با استفاده از یک الگوی پیام، مانند {oas.resource.url} ، مشخص کنید. در این حالت، مقدار متغیر جریان oas.resource.url (داخل آکولاد) ارزیابی شده و در زمان اجرا در رشته‌ی payload جایگزین می‌شود. برای اطلاعات بیشتر، به الگوهای پیام مراجعه کنید.

مقدار پیش‌فرض هیچکدام
الزامی است؟ مورد نیاز
نوع رشته
عنصر والد <OASValidation>
عناصر فرزند هیچکدام

نحو

عنصر <OASResource> از سینتکس زیر استفاده می‌کند:

<OASValidation name="policy_name">
   <OASResource>oas://specname[.json|.yaml|.yml]</OASResource>
   ...
</OASValidation>

مثال

مثال زیر به مشخصات my-spec.yaml که در مسیر /apiproxy/resources/oas در بسته پروکسی API ذخیره شده است، اشاره می‌کند:

<OASValidation name="myoaspolicy">
   <OASResource>oas://my-spec.yaml</OASResource>
</OASValidation>

عنصر <OASResource> هیچ ویژگی یا عنصر فرزندی ندارد.

<گزینه‌ها>

گزینه‌های مربوط به سیاست را پیکربندی می‌کند.

مقدار پیش‌فرض ناموجود
الزامی است؟ اختیاری
نوع نوع پیچیده
عنصر والد <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>

<اعتبارسنجی بدنه پیام>

مشخص می‌کند که آیا این سیاست باید بدنه پیام را در برابر طرح بدنه درخواست عملیات در مشخصات OpenAPI اعتبارسنجی کند یا خیر. برای اعتبارسنجی محتوای بدنه پیام، روی true تنظیم کنید. برای اعتبارسنجی فقط وجود بدنه پیام، روی false تنظیم کنید.

شما می‌توانید با تنظیم ویژگی continueOnError برای عنصر <OASValidation> به 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>

رفتار خط‌مشی را در صورتی که پارامترهای هدر موجود در درخواست در مشخصات 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>

مثال

مثال زیر سیاستی را پیکربندی می‌کند که اگر پارامتر هدر در درخواستی مشخص شود که در مشخصات OpenAPI تعریف نشده باشد، با شکست مواجه شود.

<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>

مثال

مثال زیر سیاستی را پیکربندی می‌کند که اگر پارامتر پرس‌وجویی در درخواست مشخص شود که در مشخصات OpenAPI تعریف نشده باشد، با شکست مواجه شود.

<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>

مثال

مثال زیر سیاستی را پیکربندی می‌کند که اگر پارامتر پرس‌وجویی در درخواست مشخص شود که در مشخصات OpenAPI تعریف نشده باشد، با شکست مواجه شود.

<OASValidation name="myoaspolicy">
   <OASResource>oas://my-spec.yaml</OASResource>
   <Options>
      <AllowUnspecifiedParameters>
         <Cookie>false</Cookie>
      </AllowUnspecifiedParameters>
   </Options>
</OASValidation>

<Source>

پیام JSON برای ارزیابی در برابر حملات JSON payload. این گزینه معمولاً روی request تنظیم می‌شود، زیرا معمولاً نیاز به ارزیابی درخواست‌های ورودی از برنامه‌های کلاینت دارید. برای ارزیابی پیام‌های پاسخ، روی response تنظیم کنید. برای ارزیابی خودکار پیام درخواست، زمانی که سیاست به جریان درخواست متصل است و پیام پاسخ، زمانی که سیاست به جریان پاسخ متصل است، روی message تنظیم کنید.

مقدار پیش‌فرض درخواست
الزامی است؟ اختیاری
نوع رشته
عنصر والد <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

متغیر مشخص شده در عنصر <Source> خط مشی یا خارج از محدوده است یا قابل حل نیست.

steps.oasvalidation.NotMessageVariable 500

عنصر <Source> روی متغیری تنظیم شده است که از نوع پیام نیست.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.

نام خطا علت
ResourceDoesNotExist مشخصات OpenAPI ارجاع شده در عنصر <OASResource> وجود ندارد.
ResourceCompileFailed مشخصات OpenAPI که در استقرار گنجانده شده است حاوی خطاهایی است که از کامپایل شدن آن جلوگیری می کند. این به طور کلی نشان می دهد که مشخصات یک OpenAPI Specification 3.0 به خوبی شکل گرفته نیست.
BadResourceURL مشخصات OpenAPI ارجاع شده در عنصر <OASResource> قابل پردازش نیست. اگر فایل JSON یا YAML نباشد یا URL فایل به درستی مشخص نشده باشد، ممکن است این اتفاق بیفتد.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها جایی که مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "ResourceDoesNotExist"
oasvalidation. policy_name .failed policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. oasvalidation.myoaspolicy.failed = true

ویژگی‌های پشتیبانی‌شده‌ی OpenAPI Specifications

سیاست OASValidation از ویژگی‌های مشخصات OpenAPI که در جدول زیر و بر اساس دسته‌بندی خلاصه شده‌اند، پشتیبانی می‌کند. ویژگی‌هایی که پشتیبانی نمی‌شوند نیز فهرست شده‌اند.

دسته بندی پشتیبانی شده پشتیبانی نمی‌شود
قالب‌های نوع داده بولی
تاریخ
تاریخ-زمان
دو برابر
ایمیل
شناور
عدد صحیح ۳۲/عدد صحیح ۶۴
آی‌پی‌وی۴/آی‌پی‌وی۶
ام دی۵
sha1/sha256/sha512
رشته
یوری
قالب uri
یویید
دودویی
بایت
رمز عبور
شیء متمایزکننده نقشه برداری
نام ملک
ناموجود
شیء از نوع رسانه طرحواره کدگذاری
مثال
مثال‌ها
شیء عملیات پارامترها
درخواستبدنه
پاسخ‌ها
امنیت (پشتیبانی جزئی)
تماس‌های برگشتی
منسوخ شده
سرورها
پارامترهای شیء اجازه دهید مقدار خالی باشد
در ( query ، header ، path )
مورد نیاز
پاسخ‌ها
طرحواره
سبک ( deepObject ، form ، formmatrix ، label ، pipeDelimited ، simple ، spaceDelimited )

نکته: deepObject فقط از پارامترهای رشته‌ای پشتیبانی می‌کند؛ آرایه‌ها و اشیاء تو در تو پشتیبانی نمی‌شوند.
اجازه رزرو شده
منسوخ شده
مثال
مثال‌ها
محتوا
شیء مسیرها حذف
دریافت
سر
گزینه‌ها
پارامترها
پچ
پست
قرار دادن
ردیابی
متغیرها
سرورها
درخواست شیء بدنه برنامه/json
برنامه/hal+json
application/x-www-form-urlencoded ( encoding شیء پشتیبانی نمی‌شود)
محتوا
مورد نیاز
برنامه/xml
داده‌های چندبخشی/فرم
متن/ساده
متن/xml
شیء پاسخ برنامه/json
برنامه/hal+json
application/x-www-form-urlencoded ( encoding شیء پشتیبانی نمی‌شود)
محتوا
سربرگ‌ها
برنامه/xml
لینک‌ها
متن/ساده
متن/xml
شیء پاسخ‌ها پیش‌فرض
کد وضعیت HTTP
ناموجود
شیء طرحواره مرجع $
ویژگی‌های اضافی (فقط نوع پرچم بولی)
allOf (در صورت false بودن additionalProperties نادیده گرفته می‌شود)
هر کدام
شمارشی
منحصر به فرد حداکثر / انحصاری حداقل
قالب
اقلام
حداکثر/حداقل
حداکثر/حداقل اقلام
حداکثر طول/حداقل طول
حداکثر/حداقل ویژگی‌ها
چندگانه
نه
قابل تهی‌سازی
یکی از
الگو
خواص
مورد نیاز
عنوان
نوع
اقلام منحصر به فرد
منسوخ شده
مثال
فقط خواندنی
فقط بنویس
ایکس‌ام‌ال
شیء طرح امنیتی در ( header ، query ) (اگر type http باشد، نادیده گرفته می‌شود)
نام
نوع ( apiKey ، http )
قالب حامل
جریان‌ها
openIdConnectUrl
طرح
شیء سرور آدرس اینترنتی
متغیرها
تعریف چندین سرور

مباحث مرتبط