Skip to content

Multiple types for a property in Swagger 2 are not handled correctly.  #55

Closed
@mastermatt

Description

@mastermatt

The Swagger 2.0 spec didn't explicitly call out how mixed types are handled, like OpenAPI 3.0 does with oneOf.
Instead it falls back to JSON Schema Draft 4, which states:
https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.2

5.5.2.1. Valid values
The value of this keyword MUST be either a string or an array. If it
is an array, elements of the array MUST be strings and MUST be
unique.
String values MUST be one of the seven primitive types defined by the
core specification.

However, currently a swagger.json like like the following.

...
"properties": {
  "product_id": {
    "type": ["integer", "string"]
  }
}
...

produces a type like the following

export type SomeRequest = {
  product_id: integerString; // Should be `number | string`
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions