คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info

เกี่ยวกับนโยบาย OASValidation
นโยบาย OASValidation (การตรวจสอบข้อกำหนด OpenAPI) ช่วยให้คุณตรวจสอบคำขอหรือข้อความตอบกลับขาเข้าเทียบกับข้อกำหนด OpenAPI 3.0 (JSON หรือ YAML) ได้ ดูเนื้อหาใดบ้างที่ได้รับการตรวจสอบ
นโยบาย OASValidation จะระบุชื่อข้อกำหนด OpenAPI ที่จะใช้ในการตรวจสอบเมื่อขั้นตอนที่แนบนโยบายอยู่ทำงาน
ข้อมูลจำเพาะของ OpenAPI จะจัดเก็บเป็นทรัพยากรในตำแหน่งมาตรฐานภายในกลุ่มพร็อกซี API ต่อไปนี้ apiproxy/resources/oas
ข้อกำหนดเฉพาะของ OpenAPI ต้องมีนามสกุล .json
, .yml
, .yaml
เพิ่มข้อกำหนด OpenAPI เป็นทรัพยากรไปยังกลุ่มพร็อกซี API โดยใช้ UI หรือ API ตามที่อธิบายไว้ในจัดการทรัพยากร
เนื้อหาใดบ้างที่ได้รับการตรวจสอบ
ตารางต่อไปนี้สรุปเนื้อหาข้อความคำขอที่นโยบาย OASValidation ตรวจสอบตามคอมโพเนนต์
คอมโพเนนต์ | ขอการตรวจสอบ |
---|---|
Basepath | ตรวจสอบเส้นทางฐานที่กําหนดโดยพร็อกซี API โดยไม่สนใจเส้นทางฐานที่ระบุไว้ในข้อกําหนดของ OpenAPI |
เส้นทาง | ตรวจสอบว่าเส้นทางคำขอ (ลบเส้นทางฐาน) ตรงกับรูปแบบเส้นทางรูปแบบใดรูปแบบหนึ่งที่ระบุไว้ในข้อกำหนด OpenAPI |
คำกริยา | ตรวจสอบว่ากริยาได้รับการกําหนดไว้สําหรับเส้นทางในข้อกําหนด OpenAPI |
เนื้อหาข้อความคำขอ |
หมายเหตุ: นโยบายจะตรวจสอบเนื้อหาข้อความคําขอเทียบกับข้อกําหนดของ OpenAPI เฉพาะในกรณีที่ตั้งค่า Content-Type เป็น |
พารามิเตอร์ |
|
ตารางต่อไปนี้สรุปเนื้อหาข้อความตอบกลับที่นโยบาย OASValidation ตรวจสอบตามคอมโพเนนต์
คอมโพเนนต์ | การตรวจสอบการตอบกลับ |
---|---|
เส้นทาง | ตรวจสอบว่าเส้นทางคำขอ (ลบเส้นทางฐาน) ตรงกับรูปแบบเส้นทางรูปแบบใดรูปแบบหนึ่งที่ระบุไว้ในข้อกำหนด OpenAPI |
คำกริยา | ตรวจสอบว่ากริยาได้รับการกําหนดไว้สําหรับเส้นทางในข้อกําหนด OpenAPI |
เนื้อหาข้อความตอบกลับ |
|
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีใช้นโยบาย OASValidation เพื่อตรวจสอบข้อความเทียบกับข้อกำหนด OpenAPI 3.0
ตรวจสอบข้อความคำขอ
ในตัวอย่างต่อไปนี้ นโยบาย myoaspolicy
จะตรวจสอบความถูกต้องของเนื้อหาข้อความคําขอกับสคีมาเนื้อหาข้อความคําขอของการดำเนินการที่กําหนดไว้ในข้อกําหนดเฉพาะ OpenAPI my-spec.json
<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 ลงในขั้นตอนใน UI ของ 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 |
ไม่มีข้อมูล | จำเป็น |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ ใช้องค์ประกอบ |
continueOnError |
เท็จ | ไม่บังคับ | ตั้งค่าเป็น "false" เพื่อแสดงข้อผิดพลาดเมื่อนโยบายล้มเหลว ซึ่งเป็นลักษณะการทํางานที่คาดหวังตามนโยบายส่วนใหญ่ ตั้งค่าเป็น "จริง" เพื่อดําเนินการโฟลว์ข้อมูลต่อไป แม้ว่านโยบายจะล้มเหลวก็ตาม |
enabled |
จริง | ไม่บังคับ | ตั้งค่าเป็น "true" เพื่อบังคับใช้นโยบาย ตั้งค่าเป็น "false" เพื่อ "ปิด" นโยบาย ระบบจะไม่บังคับใช้นโยบายแม้ว่าจะยังคงแนบไปกับโฟลว์ |
async |
เท็จ | เลิกใช้ | แอตทริบิวต์นี้เลิกใช้งานแล้ว |
การอ้างอิงองค์ประกอบย่อย
ส่วนนี้จะอธิบายองค์ประกอบย่อยของ <OASValidation>
<DisplayName>
ใช้ร่วมกับแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายในเครื่องมือแก้ไขพร็อกซี UI การจัดการโดยใช้ชื่ออื่นที่ฟังดูเป็นธรรมชาติมากกว่า
องค์ประกอบ <DisplayName>
เป็นองค์ประกอบที่ใช้ร่วมกันในทุกนโยบาย
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ไม่บังคับ หากคุณละเว้น <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
(ในวงเล็บปีกกา) และแทนที่ลงในสตริงเพย์โหลดที่รันไทม์
ดูข้อมูลเพิ่มเติมได้ที่เทมเพลตข้อความ
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ต้องระบุ |
ประเภท | สตริง |
องค์ประกอบหลัก |
<OASValidation>
|
องค์ประกอบย่อย | ไม่มี |
ไวยากรณ์
องค์ประกอบ <OASResource>
ใช้ไวยากรณ์ต่อไปนี้
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> ... </OASValidation>
ตัวอย่าง
ตัวอย่างต่อไปนี้อ้างอิงถึงข้อกําหนด my-spec.yaml
ที่เก็บไว้ภายใต้ /apiproxy/resources/oas
ใน API Proxy Bundle
<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 หรือไม่ ตั้งค่าเป็น 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>
<Header>
(บุตรของ <AllowUnspecifiedParameters>
)
กําหนดค่าลักษณะการทํางานของนโยบายหากมีคําสั่งของส่วนหัวในคําขอที่ไม่ได้กําหนดไว้ในข้อกําหนดของ 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 โดยปกติแล้วการตั้งค่านี้จะตั้งเป็น 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
รหัสข้อผิดพลาด
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 |
binary byte password |
ออบเจ็กต์ตัวแบ่ง | mapping propertyName |
ไม่มี |
ออบเจ็กต์ประเภทสื่อ | สคีมา | encoding example examples |
ออบเจ็กต์การดำเนินการ | parameters requestBody responses security (รองรับบางส่วน) |
callbacks เลิกใช้งานแล้ว เซิร์ฟเวอร์ |
ออบเจ็กต์พารามิเตอร์ | 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 required |
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 |
ออบเจ็กต์คำตอบ | default รหัสสถานะ HTTP |
ไม่มี |
ออบเจ็กต์สคีมา | $ref additionalProperties (ตัวแปร Flag บูลีนเท่านั้น) 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 )ชื่อ ประเภท ( apiKey , http )
|
bearerFormat flows openIdConnectUrl scheme |
ออบเจ็กต์เซิร์ฟเวอร์ | url variables |
คำจำกัดความเซิร์ฟเวอร์หลายรายการ |