github.com/goadesign/goa/goagen/gen_client
genclient
import "github.com/goadesign/goa/goagen/gen_client"
Overview
Package genclient provides a generator for the client tool and package of a goa application. The generator creates a main.go file and a subpackage containing data structures specific to the service.
The generated code includes a client package with:
* One client method per resource action
* Helper functions to build the corresponding request paths
* Structs for the action payloads and dependent types
* Structs for the action media types and corresponding decoder functions
The generated code also includes a CLI tool with commands for each action and sub-commands for each resource.
Index
Package files
cli_generator.go doc.go generator.go options.go
func Generate
func Generate() (files []string, err error)
Generate is the generator entry point called by the meta generator.
type Generator
type Generator struct {
API *design.APIDefinition // The API definition
OutDir string // Path to output directory
Target string // Name of generated package
ToolDirName string // Name of tool directory where CLI main is generated once
Tool string // Name of CLI tool
NoTool bool // Whether to skip tool generation
// contains filtered or unexported fields
}
Generator is the application code generator.
func NewGenerator
func NewGenerator(options ...Option) *Generator
NewGenerator returns an initialized instance of a Go Client Generator
func (*Generator) Cleanup
func (g *Generator) Cleanup()
Cleanup removes all the files generated by this generator during the last invokation of Generate.
func (*Generator) Generate
func (g *Generator) Generate() (_ []string, err error)
Generate generats the client package and CLI.
type Option
type Option func(*Generator)
Option a generator option definition
func API
func API(API *design.APIDefinition) Option
API The API definition
func NoTool
func NoTool(noTool bool) Option
NoTool Whether to skip tool generation
func OutDir
func OutDir(outDir string) Option
OutDir Path to output directory
func Target
func Target(target string) Option
Target Name of generated package
func Tool
func Tool(tool string) Option
Tool Name of CLI tool
func ToolDirName
func ToolDirName(toolDirName string) Option
ToolDirName Name of tool directory where CLI main is generated once
Generated by godoc2md