1 Star 1 Fork 0

fast_api/api

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
swagger.go 2.20 KB
一键复制 编辑 原始数据 按行查看 历史
t.io 提交于 2024-04-09 12:37 +08:00 . swagger: genPath clear map
package core
import (
"fmt"
"gitee.com/fast_api/api/def"
)
var (
_ def.SwaggerOps = (*swaggerImpl)(nil)
)
type swaggerImpl struct {
mi *def.MethodInfo
SwaggerSecurit
}
type SwaggerSecurit struct {
Ops []def.Option
}
// SecuritApiHeader implements def.SwaggerOps.
func (s *SwaggerSecurit) SecuritApiHeader(name string, headerName string) {
for i := 0; i < len(s.Ops); i++ {
s.Ops[i].StoreKV("swagger.securit", SecuritApiHeader(name, headerName))
}
}
// SecuritCookie implements def.SwaggerOps.
func (s *SwaggerSecurit) SecuritCookie(name string, cookieName string) {
for i := 0; i < len(s.Ops); i++ {
s.Ops[i].StoreKV("swagger.securit", SecuritCookie(name, cookieName))
}
}
// SecuritJwt implements def.SwaggerOps.
func (s *SwaggerSecurit) SecuritJwt(name string) {
for i := 0; i < len(s.Ops); i++ {
s.Ops[i].StoreKV("swagger.securit", SecuritJwt(name))
}
}
// SetParameterDescription implements def.SwaggerOps.
func (s *swaggerImpl) SetParameterDescription(name string, description string) {
s.mi.KV.Store(fmt.Sprintf("swagger.parameter.%s", name), description)
}
func (s *swaggerImpl) SetSummary(title string) {
s.mi.KV.Store("swagger.summary", title)
}
func (s *swaggerImpl) SetTag(tag string) {
s.mi.KV.Store("swagger.tag", tag)
}
func (s *swaggerImpl) SetDescription(description string) {
s.mi.KV.Store("swagger.description", description)
}
// Security Scheme Object
type SecurityObject struct {
Typ string `json:"type,omitempty"`
In string `json:"in,omitempty"`
Name string `json:"name,omitempty"`
Scheme string `json:"scheme,omitempty"`
BearerFormat string `json:"bearerformat,omitempty"`
}
func SecuritCookie(name string, cookieName string) map[string]*SecurityObject {
return map[string]*SecurityObject{
name: {
Typ: "apiKey",
In: "cookie",
Name: cookieName,
},
}
}
func SecuritApiHeader(name string, headerName string) map[string]*SecurityObject {
return map[string]*SecurityObject{
name: {
Typ: "apiKey",
In: "header",
Name: headerName,
},
}
}
func SecuritJwt(name string) map[string]*SecurityObject {
return map[string]*SecurityObject{
name: {
Typ: "http",
Scheme: "bearer",
BearerFormat: "JWT",
},
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/fast_api/api.git
git@gitee.com:fast_api/api.git
fast_api
api
api
v0.1.0

搜索帮助