-
-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Closed
Description
Description
Using oneOf or anyOf will generate a model with incorrect imports and wrong types.
import { boolean } from "./boolean";
import { Number } from "./number";
import { string } from "./string";
import { array } from "./array";
import { integer } from "./integer";
import { object } from "./object";
export interface Foo {
id?: string;
xxx?: Number | string | boolean | array | object | integer;
yyy?: Number | string | boolean | array | object | integer;
}- All the imports are incorrect. None of them should be imported.
Numberis incorrect. It'snumberand it should not be imported.integeris incorrect. It'snumberand should be merged withnumber. It should not be imported.arrayis incorrect. It'sArray<T>orT[]. So in this example it should have beenArray<string>orstring[]. It should not be imported.
The expected model is:
// no imports
export interface Foo {
id?: string;
xxx?: number | string | boolean | string[] | object;
yyy?: number | string | boolean | string[] | object;
}openapi-generator version
openapi-generator v4.1.3
OpenAPI declaration file content or url
openapi: 3.0.0
info:
title: Foo
version: '0001'
description: The description
paths:
/FooSet:
get:
summary: Get entities from FooSet
responses:
'200':
description: Retrieved entities
content:
application/json:
schema:
type: object
properties:
value:
type: array
items:
$ref: '#/components/schemas/NAMESPACE.Foo'
components:
schemas:
NAMESPACE.Foo:
type: object
properties:
id:
type: string
xxx:
anyOf:
- type: string
- type: number
- type: boolean
- type: array
items:
type: string
- type: object
- type: integer
yyy:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
items:
type: string
- type: object
- type: integer
title: FooCommand line used for generation
npx openapi-generator generate -g typescript-angular -i openapi.yaml-o out/test
Steps to reproduce
Generate a typescript client using the above yaml.
Related issues/PRs
There appears to be a lot of issues related to oneOf and anyOf. But couldn't find any specifically about this.
SAnDAnGE, gbertoncelli and okmttdhr