Every property marked as optional + 'any' types
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- openapi, typescript
調査の方向性
TypeScript interface generator から始め、Swagger/OpenAPI のプロパティの必須性とプリミティブ型がどのようにマッピングされるかを追跡します。ContactPerson の例とそのスキーマを比較し、必須プロパティが非オプショナルであり、ドキュメント化された 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
api-platform/api-doc-parser のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
api-platform/api-doc-parser#130 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 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 ·