Documentation
¶
Index ¶
- func SwaggerUI() func(*gin.Context)
- type Contact
- type IRateLimitMiddleware
- type Info
- type ModelParser
- type Operation
- type Parameter
- type PathItem
- type Property
- type Response
- type RouteBuilder
- func (b *RouteBuilder) Body(model interface{}, desc string) *RouteBuilder
- func (b *RouteBuilder) Build()
- func (b *RouteBuilder) Description(d string) *RouteBuilder
- func (b *RouteBuilder) Handler(h gin.HandlerFunc) *RouteBuilder
- func (b *RouteBuilder) HeaderParam(name, desc string, required bool) *RouteBuilder
- func (b *RouteBuilder) PathParam(name, desc string, required bool) *RouteBuilder
- func (b *RouteBuilder) QueryParam(name, desc string, required bool) *RouteBuilder
- func (b *RouteBuilder) RateLimit(rate limiter.Rate) *RouteBuilder
- func (b *RouteBuilder) Response(code int, model interface{}, desc string) *RouteBuilder
- func (b *RouteBuilder) Summary(s string) *RouteBuilder
- func (b *RouteBuilder) Tags(tags ...string) *RouteBuilder
- func (b *RouteBuilder) Use(middlewares ...gin.HandlerFunc) *RouteBuilder
- type Schema
- type SchemaRef
- type SecurityRequirement
- type SecurityScheme
- type SwaggerDoc
- type SwaggerGenerator
- func (g *SwaggerGenerator) AddRoute(method, path string, op Operation)
- func (g *SwaggerGenerator) AddTag(name, description string)
- func (g *SwaggerGenerator) DELETE(path string) *RouteBuilder
- func (g *SwaggerGenerator) GET(path string) *RouteBuilder
- func (g *SwaggerGenerator) GenerateJSON() string
- func (g *SwaggerGenerator) OPTIONS(path string) *RouteBuilder
- func (g *SwaggerGenerator) PATCH(path string) *RouteBuilder
- func (g *SwaggerGenerator) POST(path string) *RouteBuilder
- func (g *SwaggerGenerator) PUT(path string) *RouteBuilder
- func (g *SwaggerGenerator) RegisterModel(model interface{}) string
- func (g *SwaggerGenerator) Save(filename string) error
- func (g *SwaggerGenerator) SetEngine(engine *gin.Engine) *SwaggerGenerator
- func (g *SwaggerGenerator) SetRateLimitMiddleware(middleware IRateLimitMiddleware) *SwaggerGenerator
- func (g *SwaggerGenerator) SetRedisClient(redisClient *redis.Client) *SwaggerGenerator
- func (g *SwaggerGenerator) Use(middlewares ...gin.HandlerFunc) *SwaggerGenerator
- type Tag
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type IRateLimitMiddleware ¶
type IRateLimitMiddleware interface {
CreateRateLimitMiddleware(rateLimit *limiter.Limiter) gin.HandlerFunc
}
type ModelParser ¶
type ModelParser struct {
// contains filtered or unexported fields
}
func NewModelParser ¶
func NewModelParser() *ModelParser
func (*ModelParser) GetSchemas ¶
func (p *ModelParser) GetSchemas() map[string]Schema
func (*ModelParser) Register ¶
func (p *ModelParser) Register(model interface{}) string
type Operation ¶
type Operation struct {
Summary string `json:"summary,omitempty"`
Description string `json:"description,omitempty"`
Tags []string `json:"tags,omitempty"`
Consumes []string `json:"consumes,omitempty"`
Produces []string `json:"produces,omitempty"`
Parameters []Parameter `json:"parameters,omitempty"`
Responses map[string]Response `json:"responses"`
Security []SecurityRequirement `json:"security,omitempty"`
}
type Property ¶
type Property struct {
Type string `json:"type"`
Description string `json:"description,omitempty"`
Example interface{} `json:"example,omitempty"`
Format string `json:"format,omitempty"`
Minimum *int `json:"minimum,omitempty"`
Maximum *int `json:"maximum,omitempty"`
MinLength *int `json:"minLength,omitempty"`
MaxLength *int `json:"maxLength,omitempty"`
Enum []string `json:"enum,omitempty"`
Ref string `json:"$ref,omitempty"`
Items *SchemaRef `json:"items,omitempty"`
}
type RouteBuilder ¶
type RouteBuilder struct {
// contains filtered or unexported fields
}
func (*RouteBuilder) Body ¶
func (b *RouteBuilder) Body(model interface{}, desc string) *RouteBuilder
func (*RouteBuilder) Build ¶
func (b *RouteBuilder) Build()
func (*RouteBuilder) Description ¶
func (b *RouteBuilder) Description(d string) *RouteBuilder
func (*RouteBuilder) Handler ¶
func (b *RouteBuilder) Handler(h gin.HandlerFunc) *RouteBuilder
func (*RouteBuilder) HeaderParam ¶
func (b *RouteBuilder) HeaderParam(name, desc string, required bool) *RouteBuilder
func (*RouteBuilder) PathParam ¶
func (b *RouteBuilder) PathParam(name, desc string, required bool) *RouteBuilder
func (*RouteBuilder) QueryParam ¶
func (b *RouteBuilder) QueryParam(name, desc string, required bool) *RouteBuilder
func (*RouteBuilder) RateLimit ¶
func (b *RouteBuilder) RateLimit(rate limiter.Rate) *RouteBuilder
func (*RouteBuilder) Response ¶
func (b *RouteBuilder) Response(code int, model interface{}, desc string) *RouteBuilder
func (*RouteBuilder) Summary ¶
func (b *RouteBuilder) Summary(s string) *RouteBuilder
func (*RouteBuilder) Tags ¶
func (b *RouteBuilder) Tags(tags ...string) *RouteBuilder
func (*RouteBuilder) Use ¶
func (b *RouteBuilder) Use(middlewares ...gin.HandlerFunc) *RouteBuilder
type SecurityRequirement ¶
type SecurityScheme ¶
type SecurityScheme struct {
Type string `json:"type"`
Description string `json:"description,omitempty"`
Name string `json:"name,omitempty"`
In string `json:"in,omitempty"`
Flow string `json:"flow,omitempty"`
AuthorizationURL string `json:"authorizationUrl,omitempty"`
TokenURL string `json:"tokenUrl,omitempty"`
Scopes map[string]string `json:"scopes,omitempty"`
}
type SwaggerDoc ¶
type SwaggerDoc struct {
Swagger string `json:"swagger"`
Info Info `json:"info"`
Host string `json:"host"`
BasePath string `json:"basePath"`
Schemes []string `json:"schemes"`
Paths map[string]PathItem `json:"paths"`
Definitions map[string]Schema `json:"definitions"`
SecurityDefinitions map[string]SecurityScheme `json:"securityDefinitions,omitempty"`
Tags []Tag `json:"tags,omitempty"`
}
type SwaggerGenerator ¶
type SwaggerGenerator struct {
// contains filtered or unexported fields
}
func NewSwaggerGenerator ¶
func NewSwaggerGenerator(title, version, host, basePath string) *SwaggerGenerator
func (*SwaggerGenerator) AddRoute ¶
func (g *SwaggerGenerator) AddRoute(method, path string, op Operation)
func (*SwaggerGenerator) AddTag ¶
func (g *SwaggerGenerator) AddTag(name, description string)
func (*SwaggerGenerator) DELETE ¶
func (g *SwaggerGenerator) DELETE(path string) *RouteBuilder
func (*SwaggerGenerator) GET ¶
func (g *SwaggerGenerator) GET(path string) *RouteBuilder
func (*SwaggerGenerator) GenerateJSON ¶
func (g *SwaggerGenerator) GenerateJSON() string
func (*SwaggerGenerator) OPTIONS ¶
func (g *SwaggerGenerator) OPTIONS(path string) *RouteBuilder
func (*SwaggerGenerator) PATCH ¶
func (g *SwaggerGenerator) PATCH(path string) *RouteBuilder
func (*SwaggerGenerator) POST ¶
func (g *SwaggerGenerator) POST(path string) *RouteBuilder
func (*SwaggerGenerator) PUT ¶
func (g *SwaggerGenerator) PUT(path string) *RouteBuilder
func (*SwaggerGenerator) RegisterModel ¶
func (g *SwaggerGenerator) RegisterModel(model interface{}) string
func (*SwaggerGenerator) Save ¶
func (g *SwaggerGenerator) Save(filename string) error
func (*SwaggerGenerator) SetEngine ¶
func (g *SwaggerGenerator) SetEngine(engine *gin.Engine) *SwaggerGenerator
func (*SwaggerGenerator) SetRateLimitMiddleware ¶
func (g *SwaggerGenerator) SetRateLimitMiddleware(middleware IRateLimitMiddleware) *SwaggerGenerator
func (*SwaggerGenerator) SetRedisClient ¶
func (g *SwaggerGenerator) SetRedisClient(redisClient *redis.Client) *SwaggerGenerator
func (*SwaggerGenerator) Use ¶
func (g *SwaggerGenerator) Use(middlewares ...gin.HandlerFunc) *SwaggerGenerator
Click to show internal directories.
Click to hide internal directories.