Documentation ¶
Index ¶
Constants ¶
const JSONFormat = "json"
JSONFormat for json
Variables ¶
var ( // Version for the swagger command Version string // Commit for the swagger command Commit string )
Functions ¶
This section is empty.
Types ¶
type DiffCommand ¶ added in v0.26.0
type DiffCommand struct { OnlyBreakingChanges bool `long:"break" short:"b" description:"When present, only shows incompatible changes"` Format string `long:"format" short:"f" description:"When present, writes output as json" default:"txt" choice:"txt" choice:"json"` IgnoreFile string `` /* 133-byte string literal not displayed */ Destination string `long:"dest" short:"d" description:"Output destination file or stdout" default:"stdout"` Args struct { OldSpec string `positional-arg-name:"{old spec}"` NewSpec string `positional-arg-name:"{new spec}"` } `required:"2" positional-args:"specs" description:"Input specs to be diff-ed"` }
DiffCommand is a command that generates the diff of two swagger specs.
There are no specific options for this expansion.
func (*DiffCommand) Execute ¶ added in v0.26.0
func (c *DiffCommand) Execute(_ []string) error
Execute diffs the two specs provided
type ExpandSpec ¶ added in v0.17.0
type ExpandSpec struct { Compact bool `long:"compact" description:"applies to JSON formatted specs. When present, doesn't prettify the json"` Output flags.Filename `long:"output" short:"o" description:"the file to write to"` Format string `long:"format" description:"the format for the spec document" default:"json" choice:"yaml" choice:"json"` }
ExpandSpec is a command that expands the $refs in a swagger document.
There are no specific options for this expansion.
func (*ExpandSpec) Execute ¶ added in v0.17.0
func (c *ExpandSpec) Execute(args []string) error
Execute expands the spec
type FlattenSpec ¶ added in v0.17.0
type FlattenSpec struct { Compact bool `long:"compact" description:"applies to JSON formatted specs. When present, doesn't prettify the json"` Output flags.Filename `long:"output" short:"o" description:"the file to write to"` Format string `long:"format" description:"the format for the spec document" default:"json" choice:"yaml" choice:"json"` generate.FlattenCmdOptions }
FlattenSpec is a command that flattens a swagger document which will expand the remote references in a spec and move inline schemas to definitions after flattening there are no complex inlined anymore
func (*FlattenSpec) Execute ¶ added in v0.17.0
func (c *FlattenSpec) Execute(args []string) error
Execute flattens the spec
type Generate ¶
type Generate struct { Model *generate.Model `command:"model"` Operation *generate.Operation `command:"operation"` Support *generate.Support `command:"support"` Server *generate.Server `command:"server"` Spec *generate.SpecFile `command:"spec"` Client *generate.Client `command:"client"` }
Generate command to group all generator commands together
type InitCmd ¶ added in v0.17.0
InitCmd is a command namespace for initializing things like a swagger spec.
type MixinSpec ¶ added in v0.17.0
type MixinSpec struct { ExpectedCollisionCount uint `` /* 130-byte string literal not displayed */ Compact bool `long:"compact" description:"applies to JSON formatted specs. When present, doesn't prettify the json"` Output flags.Filename `long:"output" short:"o" description:"the file to write to"` KeepSpecOrder bool `long:"keep-spec-order" description:"Keep schema properties order identical to spec file"` Format string `long:"format" description:"the format for the spec document" default:"json" choice:"yaml" choice:"json"` IgnoreConflicts bool `long:"ignore-conflicts" description:"Ignore conflict"` }
MixinSpec holds command line flag definitions specific to the mixin command. The flags are defined using struct field tags with the "github.com/jessevdk/go-flags" format.
func (*MixinSpec) Execute ¶ added in v0.17.0
Execute runs the mixin command which merges Swagger 2.0 specs into one spec
Use cases include adding independently versioned metadata APIs to application APIs for microservices.
Typically, multiple APIs to the same service instance is not a problem for client generation as you can create more than one client to the service from the same calling process (one for each API). However, merging clients can improve clarity of client code by having a single client to given service vs several.
Server skeleton generation, ie generating the model & marshaling code, http server instance etc. from Swagger, becomes easier with a merged spec for some tools & target-languages. Server code generation tools that natively support hosting multiple specs in one server process will not need this tool.
func (*MixinSpec) MixinFiles ¶ added in v0.17.0
func (c *MixinSpec) MixinFiles(primaryFile string, mixinFiles []string, w io.Writer) ([]string, error)
MixinFiles is a convenience function for Mixin that reads the given swagger files, adds the mixins to primary, calls FixEmptyResponseDescriptions on the primary, and writes the primary with mixins to the given writer in JSON. Returns the warning messages for collisions that occurred during mixin process and any error.
type PrintVersion ¶ added in v0.17.0
type PrintVersion struct { }
PrintVersion the command
func (*PrintVersion) Execute ¶ added in v0.17.0
func (p *PrintVersion) Execute(args []string) error
Execute this command
type ServeCmd ¶ added in v0.17.0
type ServeCmd struct { BasePath string `long:"base-path" description:"the base path to serve the spec and UI at"` Flavor string `` /* 129-byte string literal not displayed */ DocURL string `long:"doc-url" description:"override the url which takes a url query param to render the doc ui"` NoOpen bool `long:"no-open" description:"when present won't open the the browser to show the url"` NoUI bool `long:"no-ui" description:"when present, only the swagger spec will be served"` Flatten bool `long:"flatten" description:"when present, flatten the swagger spec before serving it"` Port int `long:"port" short:"p" description:"the port to serve this site" env:"PORT"` Host string `long:"host" description:"the interface to serve this site, defaults to 0.0.0.0" env:"HOST"` }
ServeCmd to serve a swagger spec with docs ui
type ValidateSpec ¶
type ValidateSpec struct { // SchemaURL string `long:"schema" description:"The schema url to use" default:"http://swagger.io/v2/schema.json"` SkipWarnings bool `long:"skip-warnings" description:"when present will not show up warnings upon validation"` StopOnError bool `long:"stop-on-error" description:"when present will not continue validation after critical errors are found"` }
ValidateSpec is a command that validates a swagger document against the swagger specification
func (*ValidateSpec) Execute ¶
func (c *ValidateSpec) Execute(args []string) error
Execute validates the spec