doc.dev1x.org

oapi-codegenを用いたスキーマ駆動開発

1. インストール

go install github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen@latest

2. 事前準備

config.yaml

package: oapi
output: ./oapi/openapi.gen.go
generate:
  gin-server: true
  models: true
output-options:
  skip-prune: true

openapi.yaml

TODO: コード書く

3. 生成

oapi-codegen -config config.yaml openapi.yaml

4. 組み込み

handler.go

TODO: コード書く

main.go

import (
	"<生成したコードのパッケージ>/oapi"
	"github.com/gin-gonic/gin"
)

func main() {
	server := oapi.NewServer()
	r := gin.Default()
	oapi.RegisterHandlers(r, server)
    r.Run(:8080)
}

参考資料

Appendix-1 どのモジュールを生成・利用するか