คุณกำลังดูเอกสารประกอบของ 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 | ตรวจสอบ basepath ที่กำหนดโดยพร็อกซี API และไม่สนใจ basepath ที่ระบุในข้อกำหนดของ OpenAPI |
เส้นทาง | ตรวจสอบว่าเส้นทางคำขอ (ลบ basepath) ตรงกับรูปแบบเส้นทางใดรูปแบบหนึ่งที่กำหนดไว้ในข้อกำหนด OpenAPI |
คำกริยา | ตรวจสอบว่าได้กำหนดคำกริยาสำหรับเส้นทางในข้อกำหนด OpenAPI แล้ว |
เนื้อหาของข้อความคำขอ |
หมายเหตุ: นโยบายจะตรวจสอบเนื้อหาข้อความคำขอเทียบกับข้อกำหนด OpenAPI ก็ต่อเมื่อตั้งค่า Content-Type เป็น
|
พารามิเตอร์ |
|
ตารางต่อไปนี้สรุปเนื้อหาข้อความตอบกลับที่นโยบาย OASValidation ตรวจสอบตามคอมโพเนนต์
คอมโพเนนต์ | การตรวจสอบการตอบกลับ |
---|---|
เส้นทาง | ตรวจสอบว่าเส้นทางคำขอ (ลบ basepath) ตรงกับรูปแบบเส้นทางใดรูปแบบหนึ่งที่กำหนดไว้ในข้อกำหนด OpenAPI |
คำกริยา | ตรวจสอบว่าได้กำหนดคำกริยาสำหรับเส้นทางในข้อกำหนด OpenAPI แล้ว |
เนื้อหาข้อความตอบกลับ |
|
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีที่คุณใช้นโยบาย OASValidation เพื่อตรวจสอบข้อความกับข้อกำหนด OpenAPI 3.0
ตรวจสอบข้อความคำขอ
ในตัวอย่างต่อไปนี้ นโยบาย 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
ค่าเริ่มต้น | ดูแท็บนโยบายเริ่มต้นด้านล่าง |
ต้องระบุหรือไม่ | ต้องระบุ |
ประเภท | ออบเจ็กต์ที่ซับซ้อน |
องค์ประกอบหลัก | ไม่มี |
องค์ประกอบย่อย |
<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
<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 ที่สรุปไว้ในตารางต่อไปนี้ตามหมวดหมู่ นอกจากนี้ ยังมีรายการฟีเจอร์ที่ไม่รองรับด้วย
หมวดหมู่ | รองรับ | ไม่รองรับ |
---|---|---|
รูปแบบประเภทข้อมูล | บูลีน วันที่ วันที่และเวลา ดับเบิล อีเมล โฟลต int32/int64 ipv4/ipv6 md5 sha1/sha256/sha512 สตริง uri uri-template uuid |
ไบนารี ไบต์ รหัสผ่าน |
ออบเจ็กต์ตัวแบ่ง | mapping propertyName |
ไม่มี |
ออบเจ็กต์ประเภทสื่อ | สคีมา | การเข้ารหัส ตัวอย่าง ตัวอย่าง |
ออบเจ็กต์การดำเนินการ | parameters requestBody responses security (รองรับบางส่วน) |
การเรียกกลับ เลิกใช้งานแล้ว เซิร์ฟเวอร์ |
ออบเจ็กต์พารามิเตอร์ | allowEmptyValue ใน ( query , header , path )ต้องระบุ การตอบกลับ สคีมา รูปแบบ ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )หมายเหตุ: deepObject รองรับเฉพาะพารามิเตอร์สตริง ไม่รองรับอาร์เรย์และออบเจ็กต์ที่ซ้อนกัน
|
allowReserved เลิกใช้งานแล้ว ตัวอย่าง ตัวอย่าง เนื้อหา |
ออบเจ็กต์เส้นทาง | delete get head options parameters patch post put trace variables |
เซิร์ฟเวอร์ |
ออบเจ็กต์เนื้อความของคำขอ | application/json application/hal+json application/x-www-form-urlencoded (ไม่รองรับออบเจ็กต์ encoding )content ต้องระบุ |
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 (เฉพาะตัวแปรบูลีน) 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 |
เลิกใช้งานแล้ว ตัวอย่าง readOnly writeOnly xml |
ออบเจ็กต์รูปแบบความปลอดภัย | ใน (header , query ) (ระบบจะละเว้นหาก type เป็น http )name type ( apiKey , http )
|
bearerFormat flows openIdConnectUrl scheme |
ออบเจ็กต์เซิร์ฟเวอร์ | url ตัวแปร |
คำจำกัดความของเซิร์ฟเวอร์หลายรายการ |