acacode / acacode/swagger-typescript-api

Making fields required during use of allOf

Đang mở
#275 0 bình luận 16 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
TypeScript
Star
4.1k
Fork
436
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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;
}
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.