Skip to main content

non-primitive-one-of-schemas-in-polymorphism

Overview

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

It is not allowed to define the schemas with primitive types in oneOf list when discriminator property is defined alongside oneOf. 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 oneOf list which is not allowed in polymorphism.
CodeOPENAPI3APIMATIC_L700
TypeLinting
Rule SystemSemantic
Broad CategoryOpenAPI Schemas
Products ImpactedAPI Transformer, Code Generation, Developer Experience Portal
Tagsopenapi3 openapi apimatic semantic linting primitive type oneof schema polymorphism discriminator

Suggested Fixes

  • Identify the schemas defined in oneOf 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