Skip to main content

non-primitive-any-of-schemas-in-polymorphism

Overview

This rule belongs to the openapi-v3-apimatic-linting ruleset and states that:

It is not allowed to use the schemas with primitive types in anyOf list when discriminator property is defined alongside anyOf. This refers to polymorphism which is the ability of a schema to represent different types or subtypes in the presence of discriminator.

PropertyValue
EnabledYes
Maximum SeverityError
MessageSchema with primitive type found in anyOf list which is not allowed in polymorphism.
CodeOPENAPI3APIMATIC_L699
TypeLinting
Rule SystemSemantic
Broad CategoryOpenAPI Schemas
Products ImpactedAPI Transformer, Code Generation, Developer Experience Portal
Tagsopenapi3 openapi apimatic semantic linting primitive type anyof schema polymorphism discriminator

Suggested Fixes

  • Identify the schemas defined in anyOf list.
  • Check the type definition of the schema and ensure it is not a primitive type (such as string, number, boolean, etc.).
  • Modify the schema's type to be an object type.
  • Ensure that the object type includes the necessary properties for representing the polymorphic structure.
  • Remove the discriminator property.

For More Information