🐡

OpenAPI GeneratorでGoのコードを自動生成する時に`redeclared in this block`が出た際の解決方法

2023/07/18に公開

はじめに

OpenAPI GeneratorでGoのクライアントコードを生成した際に〇〇 redeclared in this blockとエラーが出現したので解決方法をメモ。解決方法を調べてもあまり出てこなかったので共有します。

解決策

エラーの原因を探すために、OpenAPIの仕様書を読んでみると各エンドポイントで定義されたenumの名前が衝突していた。そこでOpenAPI Generatorのgo Generatorドキュメントを確認すると、enumClassPrefixをオプションとして設定することで、enum型の前にクラス名を付けることが可能。このオプションを付けることでenumの再宣言エラーを解決できる。

$ openapi-generator generate -i hoge.yaml -g go -o ./client --additional-properties=enumClassPrefix=true
フィシルコム

Discussion