Documentation
¶
Index ¶
- func ShadownServer(ctx context.Context, engine http.Handler, port int)
- func SwaggerUI() func(*gin.Context)
- type Contact
- type Info
- type ModelParser
- type Operation
- type Parameter
- type PathItem
- type Property
- type Response
- type RouteBuilder
- func (b *RouteBuilder) BearerAuth() *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) Public() *RouteBuilder
- func (b *RouteBuilder) QueryParam(name, desc string, required bool) *RouteBuilder
- func (b *RouteBuilder) Response(code int, model interface{}, desc string) *RouteBuilder
- func (b *RouteBuilder) Security(name string, scopes ...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) AddBearerAuth(name string)
- func (g *SwaggerGenerator) AddBearerAuthWithDescription(name, description string)
- func (g *SwaggerGenerator) AddRoute(method, path string, op Operation)
- func (g *SwaggerGenerator) AddSecurityDefinition(name string, scheme SecurityScheme)
- 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) SetGlobalSecurity(name string, scopes ...string)
- func (g *SwaggerGenerator) Use(middlewares ...gin.HandlerFunc) *SwaggerGenerator
- type Tag
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
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 Parameter ¶
type Parameter struct {
Name string `json:"name"`
In string `json:"in"` // path, query, header, body
Description string `json:"description,omitempty"`
Required bool `json:"required"`
Type string `json:"type,omitempty"`
Schema *SchemaRef `json:"schema,omitempty"`
Example interface{} `json:"example,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"` // <-- thêm dòng này
}
type RouteBuilder ¶
type RouteBuilder struct {
// contains filtered or unexported fields
}
func (*RouteBuilder) BearerAuth ¶
func (b *RouteBuilder) BearerAuth() *RouteBuilder
BearerAuth tiện lợi cho Bearer token
func (*RouteBuilder) Body ¶
func (b *RouteBuilder) Body(model interface{}, desc string) *RouteBuilder
func (*RouteBuilder) Build ¶
func (b *RouteBuilder) Build()
Build hoàn tất route với tất cả middleware đã được thêm
func (*RouteBuilder) Description ¶
func (b *RouteBuilder) Description(d string) *RouteBuilder
func (*RouteBuilder) Handler ¶
func (b *RouteBuilder) Handler(h gin.HandlerFunc) *RouteBuilder
Handler gán handler
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) Public ¶
func (b *RouteBuilder) Public() *RouteBuilder
Public đánh dấu route không cần authentication
func (*RouteBuilder) QueryParam ¶
func (b *RouteBuilder) QueryParam(name, desc string, required bool) *RouteBuilder
func (*RouteBuilder) Response ¶
func (b *RouteBuilder) Response(code int, model interface{}, desc string) *RouteBuilder
func (*RouteBuilder) Security ¶
func (b *RouteBuilder) Security(name string, scopes ...string) *RouteBuilder
Security với scopes (cho OAuth2)
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) AddBearerAuth ¶
func (g *SwaggerGenerator) AddBearerAuth(name string)
Thêm vào SwaggerGenerator
func (*SwaggerGenerator) AddBearerAuthWithDescription ¶
func (g *SwaggerGenerator) AddBearerAuthWithDescription(name, description string)
Hoặc chi tiết hơn
func (*SwaggerGenerator) AddRoute ¶
func (g *SwaggerGenerator) AddRoute(method, path string, op Operation)
AddRoute thêm route
func (*SwaggerGenerator) AddSecurityDefinition ¶
func (g *SwaggerGenerator) AddSecurityDefinition(name string, scheme SecurityScheme)
AddSecurityDefinition thêm định nghĩa security
func (*SwaggerGenerator) AddTag ¶
func (g *SwaggerGenerator) AddTag(name, description string)
AddTag thêm tag để nhóm routes
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
GenerateJSON sinh file swagger.json
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
RegisterModel đăng ký model để gen schema
func (*SwaggerGenerator) Save ¶
func (g *SwaggerGenerator) Save(filename string) error
Save lưu ra file
func (*SwaggerGenerator) SetEngine ¶
func (g *SwaggerGenerator) SetEngine(engine *gin.Engine) *SwaggerGenerator
SetEngine gán engine và tạo group mặc định
func (*SwaggerGenerator) SetGlobalSecurity ¶
func (g *SwaggerGenerator) SetGlobalSecurity(name string, scopes ...string)
SetGlobalSecurity thiết lập security mặc định cho tất cả routes
func (*SwaggerGenerator) Use ¶
func (g *SwaggerGenerator) Use(middlewares ...gin.HandlerFunc) *SwaggerGenerator
Use thêm middleware global
Click to show internal directories.
Click to hide internal directories.