acacode / acacode/swagger-typescript-api
Making fields required during use of allOf
- 主要语言
- TypeScript
- 星标
- 4.1k
- 派生
- 436
- PR 合并指标
- 30 天内没有已合并 PR
描述
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;
}
```
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。