Closed3
[WIP] OpenAPIのSchemaからいい感じのTypesctriptのクライアントコードを生成するための調査
OpenAPIのスキーマからTypescriptのコードを生成するにあたり、まずはこの変の方法がありうる
-
OpenAPITools/openapi-generator-cli の
typescript-axios
を使う -
OpenAPITools/openapi-generator-cli の
typescript-fetch
を使う - ferdikoomen/openapi-typescript-codegen を使う
- YAMLから自前で型を作る方法
きになるポイント
- TSコード側でUnionがちゃんと表現されるか
- Axisoの型がよくない
YAML側ではこうするつもりですよ、というポイント
- operationIdはすべてのエンドポイントにちゃんとつける
求めている要件
Point-1: Unionが生成されること
これが
BloodType:
oneOf:
- type: string
enum: "A"
- type: string
enum: "B"
- type: string
enum: "O"
- type: string
enum: "AB"
- type: string
enum: "OTHER"
↓こうなってほしい
type BloodType = "A" | "B" | "O" | "AB" | "OTHER"
OpenAPITools/openapi-generator-cli の typescript-axios を使う
という方法だと上記の Point-1: Unionが生成されること がうまくいかない。
unionでもenumでもなく、interface BloodType {}
というような空のinterfaceが作られてしまう。
このスクラップは2023/10/29にクローズされました