Category:

Goでwireを使って依存性注入(DI)する

Go では依存性注入(DI)のためのコードを自動生成するツールである wire が良く利用されるようでので、早速導入したいと思います。 チュートリアルを自分が今作っているマイクロブログに当てはめただけです。 DI導入前 導入前は以下のように、自前でインスタンスを生成して引数として渡していました。 func InitializeServer() *controllers.Server { commentRepository := repositories.NewCommentRepositoryImpl() commentUsecase := usecases.NewCommentUsecase(commentRepository) server := controllers.NewServer(commentUsecase) return server } これはこれでシンプルなのですが、 Continue Reading

Posted On :
Category:

oapi-codegenでchi用APIインターフェースを自動生成

Goでマイクロブログを作成中なのですが、OpenAPIで定義したAPIスキーマからoapi-codegenを使ってchi用APIインターフェースを自動出力することにしました。 使うモジュールは以下の二つです。 oapi-codegen v1.11.0 chi v5.0.7 APIスキーマ定義 まずはAPIスキーマをyaml定義します。 VS CodeでOpen API(Swagger) Editorという拡張を入れて編集すると便利です。 以下の二つのAPIの定義を書いてます。 post /comments コメントを新規作成する get /comments コメントを全件取得する api-schema.yamlというyamlファイルを作成しました。 難しい内容ではないので、説明は割愛します。 openapi: "3.0.0" info: version: 1.0.0 t Continue Reading

Posted On :