Every property marked as optional + 'any' types
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- openapi, typescript
调研方向
从 TypeScript interface generator 开始,跟踪 Swagger/OpenAPI 属性的必需性和基本类型是如何映射的。将 ContactPerson 示例与其 schema 进行比较,然后验证必需属性不是可选的,并且有文档说明的 string 或 date 属性不会变成 any。
由索引模型根据 Issue 内容生成。
描述
API Platform version(s) affected: 3.0
Description
I generated typescript interfaces from a API Platform with this package. This worked really well, but there are two issues that make the result pretty much unusable for me:
- Every property is marked as optional, even '@id'. Having to manual check for every property kinda defeats the purpose of having the interfaces in the first place.
- Some properties are marked as
any, even though there is a proper type in the API docs. E.g.ContactPerson.imageis listed asstringin Swagger, but appears asanyin TypeScript. I also noticed dates beingany– but this was in a API Platform 2.6 project and might not be an issue in newer versions.
Here is an example taken out of my Swagger docs:
{
"hydra:member": [
{
"@context": "string",
"@id": "string",
"@type": "string",
"id": "string",
"name": "string",
"phoneNumber": "string",
"email": "string",
"jobAdvertisements": [
"string"
],
"image": "string"
}
],
"hydra:totalItems": 0,
"hydra:view": {
"@id": "string",
"type": "string",
"hydra:first": "string",
"hydra:last": "string",
"hydra:previous": "string",
"hydra:next": "string"
},
"hydra:search": {
"@type": "string",
"hydra:template": "string",
"hydra:variableRepresentation": "string",
"hydra:mapping": [
{
"@type": "string",
"variable": "string",
"property": "string",
"required": true
}
]
}
}
And this is the generated interface:
export interface ContactPerson {
"@id"?: string;
name?: string;
phoneNumber?: string;
email?: string;
jobAdvertisements?: string[];
image?: any;
}
- 主要语言
- TypeScript
- 星标
- 113
- 派生
- 80
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
api-platform/api-doc-parser 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 35/100
api-platform/api-doc-parser#130 ·
-
难度 5/5 一周以上 新手友好度 20/100
api-platform/api-doc-parser#129 · 1 条评论 ·
-
api-platform/api-doc-parser#125 · 1 条评论 · 已指派 1 人 ·
-
api-platform/api-doc-parser#115 · 4 条评论 · 已指派 1 人 ·
-
难度 2/5 1-3 小时 新手友好度 42/100
api-platform/api-doc-parser#113 ·
查看 api-platform/api-doc-parser 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
bug v2
难度 2/5 1-3 小时 新手友好度 75/100
modelcontextprotocol/inspector#2458 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
难度 2/5 1-3 小时 新手友好度 70/100
carbon-design-system/ibm-products#9907 ·