LinuxCommandLibrary

oapi-codegen

TLDR

Generate Go server code

$ oapi-codegen -generate server -package [api] [spec.yaml] > [server.go]
copy
Generate Go client code
$ oapi-codegen -generate client -package [api] [spec.yaml] > [client.go]
copy
Generate types only
$ oapi-codegen -generate types -package [api] [spec.yaml] > [types.go]
copy
Generate with config file
$ oapi-codegen --config [config.yaml] [spec.yaml]
copy
Generate all components
$ oapi-codegen -generate server,client,types -package [api] [spec.yaml]
copy

SYNOPSIS

oapi-codegen [options] spec

DESCRIPTION

oapi-codegen generates Go code from OpenAPI 3.0 specifications. It can generate server boilerplate, clients, and type definitions.
Supports multiple server frameworks including Chi, Gin, and Echo.

PARAMETERS

-generate type

server, client, types, spec, chi-server, gin-server, echo-server.
-package name
Go package name.
-o file
Output file.
--config file
Config file.
-include-tags tags
Include only these tags.
-exclude-tags tags
Exclude these tags.

CONFIG FILE

$ # config.yaml
package: api
generate:
  - types
  - chi-server
  - client
output: api.gen.go
copy

CAVEATS

OpenAPI 3.0+ only. Generated code may need modification. Large specs produce large files.

HISTORY

oapi-codegen was created by DeepMap, Inc. to provide high-quality Go code generation from OpenAPI specifications.

SEE ALSO

Copied to clipboard