คุณกำลังดูเอกสารประกอบของ 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
รหัสข้อผิดพลาด
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ 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 | ไบนารี ไบต์ รหัสผ่าน | 
| ออบเจ็กต์ตัวแบ่ง | 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 ตัวแปร | คำจำกัดความของเซิร์ฟเวอร์หลายรายการ |