acacode / acacode/swagger-typescript-api

Making fields required during use of allOf

Offen
#275 0 Kommentare 16 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
TypeScript
Sterne
4.1k
Forks
436
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Sometime we have data structures which can be inherited in every way except for whether or not parts of them are required. For example, if you POST a request then this may have empty fields filled in with defaults, and the returned data could be always fully returned. Having `required` work on parts from an schema while using `anyOf` would be fantastic, and appears to be intended:
https://github.com/OAI/OpenAPI-Specification/issues/1870

**Example:**
```yml
schemas:
UserCreate:
type: object
required:
- email
properties:
name: string
email: string
image: string
UserResponse:
allOf:
- $ref: '#/components/schemas/UserCreate'
- type: object
required:
- id
- image
properties:
id: string
```

Right now this outputs:
```ts
export interface UserCreate {
name?: string;
email: string;
image?: string;
}

export type UserResponse = UserCreate & {
id: string;
}
```

But I would expect something more like:
```ts
export interface UserCreate {
name?: string;
email: string;
image?: string;
}

export type UserResponse = UserCreate & {
id: string;
image: string;
}
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.