Documentation
¶
Index ¶
- Constants
- Variables
- func BodyParam(name string, schema *spec.Schema) *spec.Parameter
- func GetMethod(method uint32) []string
- func HeaderParam(name string, typ, format string) *spec.Parameter
- func InvokeHandler(ctx WebContext, fn Handler, filters []Filter)
- func NewBindResponse(i interface{}, description string) *spec.Response
- func NewDefaultValidator() *defaultValidator
- func NewDefaultWebMapping() *defaultWebMapping
- func NewResponse(description string) *spec.Response
- func PathParam(name string, typ, format string) *spec.Parameter
- func ReDoc(ctx WebContext)
- func ToPathStyle(path string, style PathStyleEnum) (string, string)
- func Validate(i interface{}) error
- type BaseWebContainer
- func (c *BaseWebContainer) AddFilter(filter ...Filter)
- func (c *BaseWebContainer) AddRouter(router *Router)
- func (c *BaseWebContainer) Address() string
- func (c *BaseWebContainer) Config() ContainerConfig
- func (c *BaseWebContainer) EnableSwagger() bool
- func (c *BaseWebContainer) GetErrorCallback() func(error)
- func (c *BaseWebContainer) GetFilters() []Filter
- func (c *BaseWebContainer) GetLoggerFilter() Filter
- func (c *BaseWebContainer) GetRecoveryFilter() Filter
- func (c *BaseWebContainer) PreStart()
- func (c *BaseWebContainer) PrintMapper(m *Mapper)
- func (c *BaseWebContainer) ResetFilters(filters []Filter)
- func (c *BaseWebContainer) SetEnableSwagger(enable bool)
- func (c *BaseWebContainer) SetErrorCallback(fn func(error))
- func (c *BaseWebContainer) SetLoggerFilter(filter Filter)
- func (c *BaseWebContainer) SetRecoveryFilter(filter Filter)
- func (c *BaseWebContainer) Swagger() *Swagger
- type ContainerConfig
- type DefaultFilterChain
- type DefinitionField
- type Filter
- type FilterChain
- type Handler
- type HandlerFunc
- type Mapper
- func (m *Mapper) Filters() []Filter
- func (m *Mapper) GetSwagger() *Operation
- func (m *Mapper) Handler() Handler
- func (m *Mapper) Key() string
- func (m *Mapper) Method() uint32
- func (m *Mapper) Path() string
- func (m *Mapper) Swagger(id string) *Operation
- func (m *Mapper) WithSwagger(swagger *Operation) *Mapper
- type Operation
- func (o *Operation) AddParam(param *spec.Parameter) *Operation
- func (o *Operation) BindParam(i interface{}, description string) *Operation
- func (o *Operation) Deprecate() *Operation
- func (o *Operation) RemoveParam(name, in string) *Operation
- func (o *Operation) RespondsWith(code int, response *spec.Response) *Operation
- func (o *Operation) SecuredWith(name string, scopes ...string) *Operation
- func (o *Operation) Undeprecate() *Operation
- func (o *Operation) WithConsumes(mediaTypes ...string) *Operation
- func (o *Operation) WithDefaultResponse(response *spec.Response) *Operation
- func (o *Operation) WithDescription(description string) *Operation
- func (o *Operation) WithExternalDocs(description, url string) *Operation
- func (o *Operation) WithID(id string) *Operation
- func (o *Operation) WithProduces(mediaTypes ...string) *Operation
- func (o *Operation) WithSchemes(schemes ...string) *Operation
- func (o *Operation) WithSummary(summary string) *Operation
- func (o *Operation) WithTags(tags ...string) *Operation
- type PathStyleEnum
- type ResponseWriter
- type Router
- type Swagger
- func (s *Swagger) AddApiKeySecurityDefinition(name string, in string) *Swagger
- func (s *Swagger) AddBasicSecurityDefinition() *Swagger
- func (s *Swagger) AddDefinition(name string, schema *spec.Schema) *Swagger
- func (s *Swagger) AddOauth2AccessCodeSecurityDefinition(name string, authorizationUrl string, tokenUrl string, ...) *Swagger
- func (s *Swagger) AddOauth2ApplicationSecurityDefinition(name string, tokenUrl string, scopes map[string]string) *Swagger
- func (s *Swagger) AddOauth2ImplicitSecurityDefinition(name string, authorizationUrl string, scopes map[string]string) *Swagger
- func (s *Swagger) AddOauth2PasswordSecurityDefinition(name string, tokenUrl string, scopes map[string]string) *Swagger
- func (s *Swagger) AddPath(path string, method uint32, op *Operation, parameters ...spec.Parameter) *Swagger
- func (s *Swagger) BindDefinitionWithTags(i interface{}, attachFields map[string]DefinitionField) *Swagger
- func (s *Swagger) BindDefinitions(i ...interface{}) *Swagger
- func (s *Swagger) ReadDoc() string
- func (s *Swagger) WithBasePath(basePath string) *Swagger
- func (s *Swagger) WithConsumes(consumes ...string) *Swagger
- func (s *Swagger) WithContact(name string, url string, email string) *Swagger
- func (s *Swagger) WithDescription(description string) *Swagger
- func (s *Swagger) WithExternalDocs(externalDocs *spec.ExternalDocumentation) *Swagger
- func (s *Swagger) WithHost(host string) *Swagger
- func (s *Swagger) WithID(id string) *Swagger
- func (s *Swagger) WithLicense(name string, url string) *Swagger
- func (s *Swagger) WithProduces(produces ...string) *Swagger
- func (s *Swagger) WithSchemes(schemes ...string) *Swagger
- func (s *Swagger) WithTags(tags ...spec.Tag) *Swagger
- func (s *Swagger) WithTermsOfService(termsOfService string) *Swagger
- func (s *Swagger) WithTitle(title string) *Swagger
- func (s *Swagger) WithVersion(version string) *Swagger
- type UrlRegister
- type WebContainer
- type WebContext
- type WebMapping
- type WebServer
- func (s *WebServer) AddContainer(container ...WebContainer) *WebServer
- func (s *WebServer) AddFilter(filter ...Filter) *WebServer
- func (s *WebServer) Containers() []WebContainer
- func (s *WebServer) Filters() []Filter
- func (s *WebServer) GetLoggerFilter() Filter
- func (s *WebServer) GetRecoveryFilter() Filter
- func (s *WebServer) ResetFilters(filters []Filter)
- func (s *WebServer) SetErrorCallback(fn func(error)) *WebServer
- func (s *WebServer) SetLoggerFilter(filter Filter) *WebServer
- func (s *WebServer) SetRecoveryFilter(filter Filter) *WebServer
- func (s *WebServer) Start()
- func (s *WebServer) Stop(ctx context.Context)
- type WebValidator
Constants ¶
const ( HeaderContentDisposition = "Content-Disposition" HeaderContentType = "Content-Type" HeaderXForwardedProto = "X-Forwarded-Proto" HeaderXForwardedProtocol = "X-Forwarded-Protocol" HeaderXForwardedSsl = "X-Forwarded-Ssl" HeaderXUrlScheme = "X-Url-Scheme" CharsetUTF8 = "charset=UTF-8" MIMEApplicationJSON = "application/json" MIMEApplicationJSONCharsetUTF8 = MIMEApplicationJSON + "; " + CharsetUTF8 MIMEApplicationJavaScript = "application/javascript" MIMEApplicationJavaScriptCharsetUTF8 = MIMEApplicationJavaScript + "; " + CharsetUTF8 MIMEApplicationXML = "application/xml" MIMEApplicationXMLCharsetUTF8 = MIMEApplicationXML + "; " + CharsetUTF8 MIMETextXML = "text/xml" MIMETextXMLCharsetUTF8 = MIMETextXML + "; " + CharsetUTF8 MIMEApplicationForm = "application/x-www-form-urlencoded" MIMEApplicationProtobuf = "application/protobuf" MIMEApplicationMsgpack = "application/msgpack" MIMETextHTML = "text/html" MIMETextHTMLCharsetUTF8 = MIMETextHTML + "; " + CharsetUTF8 MIMETextPlain = "text/plain" MIMETextPlainCharsetUTF8 = MIMETextPlain + "; " + CharsetUTF8 MIMEMultipartForm = "multipart/form-data" MIMEOctetStream = "application/octet-stream" MIMEJsonAPI = "application/vnd.api+json" MIMEJsonStream = "application/x-json-stream" MIMEImagePng = "image/png" MIMEImageJpeg = "image/jpeg" MIMEImageGif = "image/gif" )
const ( MethodGet = 0x0001 // "GET" MethodHead = 0x0002 // "HEAD" MethodPost = 0x0004 // "POST" MethodPut = 0x0008 // "PUT" MethodPatch = 0x0010 // "PATCH" MethodDelete = 0x0020 // "DELETE" MethodConnect = 0x0040 // "CONNECT" MethodOptions = 0x0080 // "OPTIONS" MethodTrace = 0x0100 // "TRACE" MethodAny = 0xffff MethodGetPost = MethodGet | MethodPost )
const ( EchoPathStyle = PathStyleEnum(0) GinPathStyle = PathStyleEnum(1) JavaPathStyle = PathStyleEnum(2) )
const DefaultWildCardName = "@_@"
DefaultWildCardName 默认统配符的名称
const WebContextKey = "@WebCtx"
WebContextKey WebContext 和 NativeContext 相互转换的 Key
Variables ¶
var RpcInvoke = defaultRpcInvoke
RpcInvoke 可自定义的 rpc 执行函数
Functions ¶
func HeaderParam ¶
HeaderParam creates a header parameter, this is always required by default
func InvokeHandler ¶
func InvokeHandler(ctx WebContext, fn Handler, filters []Filter)
InvokeHandler 执行 Web 处理函数
func NewBindResponse ¶
NewBindResponse creates a new response instance
func NewDefaultValidator ¶
func NewDefaultValidator() *defaultValidator
NewDefaultValidator defaultValidator 的构造函数
func NewDefaultWebMapping ¶
func NewDefaultWebMapping() *defaultWebMapping
NewDefaultWebMapping defaultWebMapping 的构造函数
func NewResponse ¶
NewResponse creates a new response instance
func ToPathStyle ¶
func ToPathStyle(path string, style PathStyleEnum) (string, string)
ToPathStyle 将 URL 转换为指定风格的表示形式
Types ¶
type BaseWebContainer ¶
type BaseWebContainer struct { WebMapping // contains filtered or unexported fields }
BaseWebContainer WebContainer 的通用部分
func NewBaseWebContainer ¶
func NewBaseWebContainer(config ContainerConfig) *BaseWebContainer
NewBaseWebContainer BaseWebContainer 的构造函数
func (*BaseWebContainer) AddFilter ¶
func (c *BaseWebContainer) AddFilter(filter ...Filter)
AddFilter 添加过滤器
func (*BaseWebContainer) AddRouter ¶
func (c *BaseWebContainer) AddRouter(router *Router)
AddRouter 添加新的路由信息
func (*BaseWebContainer) Config ¶
func (c *BaseWebContainer) Config() ContainerConfig
Config 获取 Web 容器配置
func (*BaseWebContainer) EnableSwagger ¶
func (c *BaseWebContainer) EnableSwagger() bool
EnableSwagger 是否启用 Swagger 功能
func (*BaseWebContainer) GetErrorCallback ¶
func (c *BaseWebContainer) GetErrorCallback() func(error)
GetErrorCallback 返回容器自身的错误回调
func (*BaseWebContainer) GetFilters ¶
func (c *BaseWebContainer) GetFilters() []Filter
GetFilters 返回过滤器列表
func (*BaseWebContainer) GetLoggerFilter ¶
func (c *BaseWebContainer) GetLoggerFilter() Filter
GetLoggerFilter 获取 Logger Filter
func (*BaseWebContainer) GetRecoveryFilter ¶
func (c *BaseWebContainer) GetRecoveryFilter() Filter
GetRecoveryFilter 获取 Recovery Filter
func (*BaseWebContainer) PrintMapper ¶
func (c *BaseWebContainer) PrintMapper(m *Mapper)
PrintMapper 打印路由注册信息
func (*BaseWebContainer) ResetFilters ¶
func (c *BaseWebContainer) ResetFilters(filters []Filter)
ResetFilters 重新设置过滤器列表
func (*BaseWebContainer) SetEnableSwagger ¶
func (c *BaseWebContainer) SetEnableSwagger(enable bool)
SetEnableSwagger 设置是否启用 Swagger 功能
func (*BaseWebContainer) SetErrorCallback ¶
func (c *BaseWebContainer) SetErrorCallback(fn func(error))
SetErrorCallback 设置容器自身的错误回调
func (*BaseWebContainer) SetLoggerFilter ¶
func (c *BaseWebContainer) SetLoggerFilter(filter Filter)
SetLoggerFilter 设置 Logger Filter
func (*BaseWebContainer) SetRecoveryFilter ¶
func (c *BaseWebContainer) SetRecoveryFilter(filter Filter)
设置 Recovery Filter
func (*BaseWebContainer) Swagger ¶
func (c *BaseWebContainer) Swagger() *Swagger
Swagger 返回和容器绑定的 Swagger 对象
type ContainerConfig ¶
type ContainerConfig struct { IP string // 监听 IP Port int // 监听端口 EnableSSL bool // 使用 SSL KeyFile string // SSL 证书 CertFile string // SSL 秘钥 ReadTimeout time.Duration WriteTimeout time.Duration }
ContainerConfig Web 容器配置
type DefaultFilterChain ¶
type DefaultFilterChain struct {
// contains filtered or unexported fields
}
DefaultFilterChain 默认的过滤器链条
func NewDefaultFilterChain ¶
func NewDefaultFilterChain(filters []Filter) *DefaultFilterChain
NewDefaultFilterChain DefaultFilterChain 的构造函数
func (*DefaultFilterChain) Next ¶
func (chain *DefaultFilterChain) Next(ctx WebContext)
type DefinitionField ¶
type DefinitionField struct { Description string Example interface{} Enums []interface{} }
type Filter ¶
type Filter interface { // Invoke 通过 chain.Next() 驱动链条向后执行 Invoke(ctx WebContext, chain FilterChain) }
Filter 过滤器接口
type Handler ¶
type Handler interface { // Invoke 响应函数 Invoke(WebContext) // FileLine 获取用户函数的文件名、行号以及函数名称 FileLine() (file string, line int, fnName string) }
Handler Web 处理接口
type Mapper ¶
type Mapper struct {
// contains filtered or unexported fields
}
Mapper 路由映射器
func (*Mapper) WithSwagger ¶
WithSwagger 设置 Swagger 文档
type Operation ¶
Operation 封装 *spec.Operation 对象,提供更多功能
func NewOperation ¶
NewOperation creates a new operation instance.
func (*Operation) RemoveParam ¶
RemoveParam removes a parameter from the operation
func (*Operation) RespondsWith ¶
RespondsWith adds a status code response to the operation.
func (*Operation) SecuredWith ¶
SecuredWith adds a security scope to this operation.
func (*Operation) Undeprecate ¶
Undeprecate marks the operation as not deprecated
func (*Operation) WithConsumes ¶
WithConsumes adds media types for incoming body values
func (*Operation) WithDefaultResponse ¶
WithDefaultResponse adds a default response to the operation.
func (*Operation) WithDescription ¶
WithDescription sets the description on this operation, allows for chaining
func (*Operation) WithExternalDocs ¶
WithExternalDocs sets/removes the external docs for/from this operation.
func (*Operation) WithProduces ¶
WithProduces adds media types for outgoing body values
func (*Operation) WithSchemes ¶
SetSchemes 设置服务协议
func (*Operation) WithSummary ¶
WithSummary sets the summary on this operation, allows for chaining
type PathStyleEnum ¶
type PathStyleEnum int
type ResponseWriter ¶
type ResponseWriter interface { http.ResponseWriter // Returns the HTTP response status code of the current request. Status() int // Returns the number of bytes already written into the response http body. // See Written() Size() int }
ResponseWriter Override http.ResponseWriter to supply more method.
type Router ¶
type Router struct { UrlRegister // contains filtered or unexported fields }
Router 路由分组
type Swagger ¶
Swagger 封装 spec.Swagger 对象,提供流式调用
func (*Swagger) AddApiKeySecurityDefinition ¶
AddApiKeySecurityDefinition 添加 ApiKey 方式认证
func (*Swagger) AddBasicSecurityDefinition ¶
AddBasicSecurityDefinition 添加 Basic 方式认证
func (*Swagger) AddDefinition ¶
AddDefinition 添加一个定义
func (*Swagger) AddOauth2AccessCodeSecurityDefinition ¶
func (s *Swagger) AddOauth2AccessCodeSecurityDefinition(name string, authorizationUrl string, tokenUrl string, scopes map[string]string) *Swagger
AddOauth2AccessCodeSecurityDefinition 添加 OAuth2 AccessCode 方式认证
func (*Swagger) AddOauth2ApplicationSecurityDefinition ¶
func (s *Swagger) AddOauth2ApplicationSecurityDefinition(name string, tokenUrl string, scopes map[string]string) *Swagger
AddOauth2ApplicationSecurityDefinition 添加 OAuth2 Application 方式认证
func (*Swagger) AddOauth2ImplicitSecurityDefinition ¶
func (s *Swagger) AddOauth2ImplicitSecurityDefinition(name string, authorizationUrl string, scopes map[string]string) *Swagger
AddOauth2ImplicitSecurityDefinition 添加 OAuth2 Implicit 方式认证
func (*Swagger) AddOauth2PasswordSecurityDefinition ¶
func (s *Swagger) AddOauth2PasswordSecurityDefinition(name string, tokenUrl string, scopes map[string]string) *Swagger
AddOauth2PasswordSecurityDefinition 添加 OAuth2 Password 方式认证
func (*Swagger) AddPath ¶
func (s *Swagger) AddPath(path string, method uint32, op *Operation, parameters ...spec.Parameter) *Swagger
AddPath 添加一个路由
func (*Swagger) BindDefinitionWithTags ¶
func (s *Swagger) BindDefinitionWithTags(i interface{}, attachFields map[string]DefinitionField) *Swagger
BindDefinitionWithTags 绑定一个定义
func (*Swagger) BindDefinitions ¶
BindDefinitions 绑定一个定义
func (*Swagger) WithBasePath ¶
WithBasePath 设置 API 路径的前缀
func (*Swagger) WithConsumes ¶
WithConsumes 设置消费协议
func (*Swagger) WithContact ¶
WithContact 设置作者的名字、主页地址、邮箱
func (*Swagger) WithDescription ¶
WithDescription 设置服务描述
func (*Swagger) WithExternalDocs ¶
func (s *Swagger) WithExternalDocs(externalDocs *spec.ExternalDocumentation) *Swagger
WithExternalDocs
func (*Swagger) WithLicense ¶
WithLicense 设置开源协议的名称、地址
func (*Swagger) WithProduces ¶
WithProduces 设置生产协议
func (*Swagger) WithSchemes ¶
WithSchemes 设置服务协议
func (*Swagger) WithTermsOfService ¶
WithTermsOfService 设置服务条款地址
func (*Swagger) WithVersion ¶
WithVersion 设置 API 版本号
type UrlRegister ¶
type UrlRegister interface { // Route 返回和 Mapping 绑定的路由分组 Route(basePath string, filters ...Filter) *Router // Request 注册任意 HTTP 方法处理函数 Request(method uint32, path string, fn Handler, filters ...Filter) *Mapper // RequestMapping 注册任意 HTTP 方法处理函数 RequestMapping(method uint32, path string, fn HandlerFunc, filters ...Filter) *Mapper // RequestBinding 注册任意 HTTP 方法处理函数 RequestBinding(method uint32, path string, fn interface{}, filters ...Filter) *Mapper // HandleGet 注册 GET 方法处理函数 HandleGet(path string, fn Handler, filters ...Filter) *Mapper // GetMapping 注册 GET 方法处理函数 GetMapping(path string, fn HandlerFunc, filters ...Filter) *Mapper // GetBinding 注册 GET 方法处理函数 GetBinding(path string, fn interface{}, filters ...Filter) *Mapper // HandlePost 注册 POST 方法处理函数 HandlePost(path string, fn Handler, filters ...Filter) *Mapper // PostMapping 注册 POST 方法处理函数 PostMapping(path string, fn HandlerFunc, filters ...Filter) *Mapper // PostBinding 注册 POST 方法处理函数 PostBinding(path string, fn interface{}, filters ...Filter) *Mapper // HandlePut 注册 PUT 方法处理函数 HandlePut(path string, fn Handler, filters ...Filter) *Mapper // PutMapping 注册 PUT 方法处理函数 PutMapping(path string, fn HandlerFunc, filters ...Filter) *Mapper // PutBinding 注册 PUT 方法处理函数 PutBinding(path string, fn interface{}, filters ...Filter) *Mapper // HandleDelete 注册 DELETE 方法处理函数 HandleDelete(path string, fn Handler, filters ...Filter) *Mapper // DeleteMapping 注册 DELETE 方法处理函数 DeleteMapping(path string, fn HandlerFunc, filters ...Filter) *Mapper // DeleteBinding 注册 DELETE 方法处理函数 DeleteBinding(path string, fn interface{}, filters ...Filter) *Mapper }
UrlRegister 路由注册接口
type WebContainer ¶
type WebContainer interface { // WebMapping 路由表 WebMapping // Config 获取 Web 容器配置 Config() ContainerConfig // GetFilters 返回过滤器列表 GetFilters() []Filter // ResetFilters 重新设置过滤器列表 ResetFilters(filters []Filter) // AddFilter 添加过滤器 AddFilter(filter ...Filter) // GetLoggerFilter 获取 Logger Filter GetLoggerFilter() Filter // SetLoggerFilter 设置 Logger Filter SetLoggerFilter(filter Filter) // GetRecoveryFilter 获取 Recovery Filter GetRecoveryFilter() Filter // SetRecoveryFilter 设置 Recovery Filter SetRecoveryFilter(filter Filter) // GetErrorCallback 返回容器自身的错误回调 GetErrorCallback() func(error) // SetErrorCallback 设置容器自身的错误回调 SetErrorCallback(fn func(error)) // AddRouter 添加新的路由信息 AddRouter(router *Router) // EnableSwagger 是否启用 Swagger 功能 EnableSwagger() bool // SetEnableSwagger 设置是否启用 Swagger 功能 SetEnableSwagger(enable bool) // Swagger 返回和容器绑定的 Swagger 对象 Swagger() *Swagger // Start 启动 Web 容器,非阻塞 Start() // Stop 停止 Web 容器,阻塞 Stop(ctx context.Context) }
WebContainer Web 容器
type WebContext ¶
type WebContext interface { // LoggerContext 日志接口上下文 SpringLogger.LoggerContext // NativeContext 返回封装的底层上下文对象 NativeContext() interface{} // Get retrieves data from the context. Get(key string) interface{} // Set saves data in the context. Set(key string, val interface{}) // Request returns `*http.Request`. Request() *http.Request // SetRequest sets `*http.Request`. SetRequest(r *http.Request) // IsTLS returns true if HTTP connection is TLS otherwise false. IsTLS() bool // IsWebSocket returns true if HTTP connection is WebSocket otherwise false. IsWebSocket() bool // Scheme returns the HTTP protocol scheme, `http` or `https`. Scheme() string // ClientIP implements a best effort algorithm to return the real client IP, // it parses X-Real-IP and X-Forwarded-For in order to work properly with // reverse-proxies such us: nginx or haproxy. Use X-Forwarded-For before // X-Real-Ip as nginx uses X-Real-Ip with the proxy's IP. ClientIP() string // Path returns the registered path for the handler. Path() string // Handler returns the matched handler by router. Handler() Handler // ContentType returns the Content-Type header of the request. ContentType() string // GetHeader returns value from request headers. GetHeader(key string) string // GetRawData return stream data. GetRawData() ([]byte, error) // PathParam returns path parameter by name. PathParam(name string) string // PathParamNames returns path parameter names. PathParamNames() []string // PathParamValues returns path parameter values. PathParamValues() []string // QueryParam returns the query param for the provided name. QueryParam(name string) string // QueryParams returns the query parameters as `url.Values`. QueryParams() url.Values // QueryString returns the URL query string. QueryString() string // FormValue returns the form field value for the provided name. FormValue(name string) string // FormParams returns the form parameters as `url.Values`. FormParams() (url.Values, error) // FormFile returns the multipart form file for the provided name. FormFile(name string) (*multipart.FileHeader, error) // SaveUploadedFile uploads the form file to specific dst. SaveUploadedFile(file *multipart.FileHeader, dst string) error // MultipartForm returns the multipart form. MultipartForm() (*multipart.Form, error) // Cookie returns the named cookie provided in the request. Cookie(name string) (*http.Cookie, error) // Cookies returns the HTTP cookies sent with the request. Cookies() []*http.Cookie // Bind binds the request body into provided type `i`. The default binder // does it based on Content-Type header. Bind(i interface{}) error // IsAborted 当前处理过程是否终止,为了适配 gin 的模型,未来底层统一了会去掉. IsAborted() bool // Abort 终止当前处理过程,为了适配 gin 的模型,未来底层统一了会去掉. Abort() // ResponseWriter returns `http.ResponseWriter`. ResponseWriter() ResponseWriter // Status sets the HTTP response code. Status(code int) // Header is a intelligent shortcut for c.Writer.Header().Set(key, value). // It writes a header in the response. // If value == "", this method removes the header `c.Writer.Header().Del(key)` Header(key, value string) // SetCookie adds a `Set-Cookie` header in HTTP response. SetCookie(cookie *http.Cookie) // NoContent sends a response with no body and a status code. NoContent(code int) // String writes the given string into the response body. String(code int, format string, values ...interface{}) error // HTML sends an HTTP response with status code. HTML(code int, html string) error // HTMLBlob sends an HTTP blob response with status code. HTMLBlob(code int, b []byte) error // JSON sends a JSON response with status code. JSON(code int, i interface{}) error // JSONPretty sends a pretty-print JSON with status code. JSONPretty(code int, i interface{}, indent string) error // JSONBlob sends a JSON blob response with status code. JSONBlob(code int, b []byte) error // JSONP sends a JSONP response with status code. It uses `callback` // to construct the JSONP payload. JSONP(code int, callback string, i interface{}) error // JSONPBlob sends a JSONP blob response with status code. It uses // `callback` to construct the JSONP payload. JSONPBlob(code int, callback string, b []byte) error // XML sends an XML response with status code. XML(code int, i interface{}) error // XMLPretty sends a pretty-print XML with status code. XMLPretty(code int, i interface{}, indent string) error // XMLBlob sends an XML blob response with status code. XMLBlob(code int, b []byte) error // Blob sends a blob response with status code and content type. Blob(code int, contentType string, b []byte) error // Stream sends a streaming response with status code and content type. Stream(code int, contentType string, r io.Reader) error // File sends a response with the content of the file. File(file string) error // Attachment sends a response as attachment, prompting client to save the file. Attachment(file string, name string) error // Inline sends a response as inline, opening the file in the browser. Inline(file string, name string) error // Redirect redirects the request to a provided URL with status code. Redirect(code int, url string) error // SSEvent writes a Server-Sent Event into the body stream. SSEvent(name string, message interface{}) error }
WebContext 上下文接口,设计理念:为社区中优秀的 Web 服务器提供一个抽象层, 使得底层可以灵活切换,因此在功能上取这些 Web 服务器功能的交集,同时提供获取 底层对象的接口,以便在不能满足用户要求的时候使用底层实现的能力,当然要慎用。
type WebMapping ¶
type WebMapping interface { UrlRegister // Mappers 返回映射器列表 Mappers() map[string]*Mapper // AddMapper 添加一个 Mapper AddMapper(m *Mapper) *Mapper }
WebMapping 路由表,Spring-Web 使用的路由规则和 echo 完全相同,并对 gin 做了适配。
type WebServer ¶
type WebServer struct {
// contains filtered or unexported fields
}
WebServer 一个 WebServer 包含多个 WebContainer
func (*WebServer) AddContainer ¶
func (s *WebServer) AddContainer(container ...WebContainer) *WebServer
AddContainer 添加 WebContainer 实例
func (*WebServer) Containers ¶
func (s *WebServer) Containers() []WebContainer
Containers 返回 WebContainer 实例列表
func (*WebServer) GetLoggerFilter ¶
GetLoggerFilter 获取 Logger Filter
func (*WebServer) GetRecoveryFilter ¶
GetRecoveryFilter 获取 Recovery Filter
func (*WebServer) ResetFilters ¶
ResetFilters 重新设置过滤器列表
func (*WebServer) SetErrorCallback ¶
SetErrorCallback 设置容器自身的错误回调
func (*WebServer) SetLoggerFilter ¶
SetLoggerFilter 设置共用的日志过滤器
func (*WebServer) SetRecoveryFilter ¶
SetRecoveryFilter 设置共用的恢复过滤器
type WebValidator ¶
type WebValidator interface { Engine() interface{} Validate(i interface{}) error }
WebValidator 参数校验器接口
var Validator WebValidator
Validator 全局参数校验器
Source Files
¶
- spring-web-const.go
- spring-web-container.go
- spring-web-context.go
- spring-web-filter.go
- spring-web-mapper.go
- spring-web-mapping.go
- spring-web-method.go
- spring-web-middleware.go
- spring-web-redoc.go
- spring-web-router.go
- spring-web-rpc.go
- spring-web-server.go
- spring-web-swagger.go
- spring-web-url.go
- spring-web-validator-v10.go
- spring-web-validator.go