คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
เกี่ยวกับนโยบาย OASValidation
นโยบาย OASValidation (การตรวจสอบข้อกำหนดของ OpenAPI) ช่วยให้คุณตรวจสอบคำขอหรือข้อความตอบกลับที่เข้ามาใหม่กับข้อกำหนดของ OpenAPI 3.0 (JSON หรือ YAML) โปรดดูเนื้อหาที่ตรวจสอบความถูกต้องแล้ว
นโยบาย OASValidation ระบุชื่อข้อกำหนดของ OpenAPI ที่จะใช้สำหรับการตรวจสอบเมื่อเรียกใช้ขั้นตอนที่แนบกับนโยบาย
ข้อกำหนดของ OpenAPI จะจัดเก็บเป็นทรัพยากรในตำแหน่งมาตรฐานต่อไปนี้ภายในแพ็กเกจพร็อกซี API: apiproxy/resources/oas
ข้อกำหนดของ OpenAPI ต้องมีส่วนขยาย .json
, .yml
, .yaml
เพิ่มข้อกำหนดของ OpenAPI เป็นทรัพยากรลงในแพ็กเกจพร็อกซี API โดยใช้ UI หรือ API ตามที่อธิบายไว้ในจัดการทรัพยากร
เนื้อหาใดบ้างที่ได้รับการตรวจสอบแล้ว
ตารางต่อไปนี้สรุปเนื้อหาข้อความคําขอที่ตรวจสอบโดยนโยบาย OASValidation ตามคอมโพเนนต์
คอมโพเนนต์ | ขอการตรวจสอบ |
---|---|
ทางเท้า | ตรวจสอบเส้นทางฐานที่พร็อกซี 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 ขั้นตอนการใช้งานใน Apigee UI มีดังนี้
<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
ในมุมมองการนำทางของเครื่องมือแก้ไขพร็อกซี 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 เพื่อประเมินข้อความตอบกลับ
ตั้งค่าเป็นข้อความเพื่อประเมินข้อความในคำขอโดยอัตโนมัติ
เมื่อแนบนโยบายกับขั้นตอนคำขอและข้อความตอบกลับเมื่อแนบนโยบายมากับการตอบกลับ
ค่าเริ่มต้น | ส่งคำขอ |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | สตริง |
องค์ประกอบระดับบนสุด |
<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 |
ตัวแปรที่ระบุในองค์ประกอบ |
|
steps.oasvalidation.NotMessageVariable |
500 |
องค์ประกอบ |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | |
---|---|---|
ResourceDoesNotExist |
ไม่มีข้อมูลจำเพาะของ OpenAPI ที่อ้างอิงในองค์ประกอบ <OASResource>
|
|
ResourceCompileFailed |
ข้อมูลจำเพาะของ OpenAPI ที่รวมอยู่ในการทำให้ใช้งานได้มีข้อผิดพลาดที่ทำให้ไม่สามารถคอมไพล์ได้ โดยทั่วไปเป็นการบ่งชี้ว่าข้อมูลจำเพาะไม่ใช่ OpenAPI Specification 3.0 ที่มีรูปแบบถูกต้อง | |
BadResourceURL |
ไม่สามารถประมวลผลข้อมูลจำเพาะของ OpenAPI ที่อ้างอิงในองค์ประกอบ <OASResource> ได้ ปัญหานี้อาจเกิดขึ้นหากไฟล์ไม่ใช่ไฟล์ 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 uri-template uuid |
เลขฐานสอง ไบต์ รหัสผ่าน |
ออบเจ็กต์ตัวเลือก | การแมป propertyName |
ไม่มี |
ออบเจ็กต์ประเภทสื่อ | สคีมา | การเข้ารหัส ตัวอย่าง ตัวอย่าง |
ออบเจ็กต์การดำเนินการ | พารามิเตอร์ requestBody คำตอบ ความปลอดภัย (สนับสนุนบางส่วน) |
Callback เลิกใช้งานแล้ว เซิร์ฟเวอร์ |
ออบเจ็กต์พารามิเตอร์ | allowEmptyValue ใน ( query , header , path )ต้องระบุ คำตอบ สคีมา รูปแบบ ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )หมายเหตุ: deepObject รองรับพารามิเตอร์สตริงเท่านั้น ระบบไม่รองรับอาร์เรย์และออบเจ็กต์ที่ซ้อนกัน
|
allowReserved เลิกใช้งานแล้ว ตัวอย่าง ตัวอย่าง เนื้อหา |
ออบเจ็กต์เส้นทาง | ลบ ดาวน์โหลด ศีรษะ ตัวเลือก พารามิเตอร์ แพตช์ โพสต์ ใส่ ติดตาม ตัวแปร |
เซิร์ฟเวอร์ |
ออบเจ็กต์เนื้อหาคำขอ | application/json application/hal+json application/x-www-form-urlencrypted (ไม่รองรับออบเจ็กต์ encoding )เนื้อหา ต้องระบุ |
แอปพลิเคชัน/xml ข้อมูลหลายส่วน/ข้อมูลแบบฟอร์ม ข้อความ/ธรรมดา ข้อความ/xml |
ออบเจ็กต์การตอบกลับ | application/json application/hal+json application/x-www-form-urlencrypted (ไม่รองรับออบเจ็กต์ encoding )เนื้อหา ส่วนหัว |
แอปพลิเคชัน/xml ลิงก์ ข้อความ/ธรรมดา ข้อความ/xml |
ออบเจ็กต์การตอบกลับ | ค่าเริ่มต้น รหัสสถานะ HTTP |
ไม่มี |
ออบเจ็กต์สคีมา | $ref คุณสมบัติเพิ่มเติม (ตัวแปรแฟล็กบูลีนเท่านั้น) allOf (ละเว้นหาก additionalProperties เป็น false )anyOf enum exclusiveMaximum/exclusiveMinimum รูปแบบ รายการ สูงสุด/ต่ำสุด maxItems/minItems maxLength/minLength maxProperties/minProperties multipleOf ไม่ใช่ เว้นว่างได้ oneOf ลาย พร็อพเพอร์ตี้ ต้องระบุ ชื่อ ประเภท uniqueItems |
เลิกใช้งานแล้ว ตัวอย่าง readOnly writeOnly XML |
ออบเจ็กต์รูปแบบการรักษาความปลอดภัย | ใน (header , query ) (จะไม่สนใจหาก type คือ http )ชื่อ ประเภท ( apiKey , http )
|
bearerFormat โฟลว์ openIdConnectUrl สคีม |
ออบเจ็กต์เซิร์ฟเวอร์ | url ตัวแปร |
การกำหนดเซิร์ฟเวอร์หลายรายการ |