fix bug
This commit is contained in:
parent
3ccab1b039
commit
2ce3fc9b26
@ -6,21 +6,21 @@ info(
|
||||
version: "type version here"
|
||||
)
|
||||
|
||||
|
||||
type (
|
||||
RegisterReq {
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
Mobile string `json:"mobile"`
|
||||
}
|
||||
// 登录请求
|
||||
|
||||
LoginReq {
|
||||
Username string `json:"username" desc:"用户名"`
|
||||
Password string `json:"password"` //密码
|
||||
} // 登录请求
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
}
|
||||
|
||||
UserInfoReq {
|
||||
Id string `path:"id"` // 会员ID
|
||||
Page string `form:"page,default=1"` //分页
|
||||
Id string `path:"id"`
|
||||
}
|
||||
|
||||
UserInfoReply {
|
||||
@ -34,17 +34,11 @@ type (
|
||||
UserSearchReq {
|
||||
KeyWord string `form:"keyWord"`
|
||||
}
|
||||
|
||||
UserSearchReply {
|
||||
KeyWord []*UserInfoReply
|
||||
KeyWords []*UserSearchReq
|
||||
}
|
||||
)
|
||||
|
||||
service user-api {
|
||||
@doc(
|
||||
summary: "注册"
|
||||
description: "注册一个用户"
|
||||
)
|
||||
@handler register
|
||||
post /api/user/register (RegisterReq)
|
||||
@ -65,15 +59,5 @@ service user-api {
|
||||
summary: "用户搜索"
|
||||
)
|
||||
@handler searchUser
|
||||
get /api/user/search (UserSearchReq) returns (UserSearchReply)
|
||||
}
|
||||
|
||||
@server(
|
||||
jwt: Auth
|
||||
group: greet
|
||||
middleware: LogHandler
|
||||
)
|
||||
service user-api {
|
||||
@handler ping
|
||||
get /user/ping
|
||||
get /api/user/search (UserSearchReq) returns (UserInfoReply)
|
||||
}
|
@ -85,58 +85,57 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
|
||||
}
|
||||
}
|
||||
}
|
||||
defineStruct, _ := route.RequestType.(spec.DefineStruct)
|
||||
|
||||
if strings.ToUpper(route.Method) == http.MethodGet {
|
||||
|
||||
for _, member := range defineStruct.Members {
|
||||
if strings.Contains(member.Tag, "path") {
|
||||
continue
|
||||
}
|
||||
|
||||
tempKind := swaggerMapTypes[strings.Replace(member.Type.Name(), "[]", "", -1)]
|
||||
ftype, format, ok := primitiveSchema(tempKind, member.Type.Name())
|
||||
if !ok {
|
||||
ftype = tempKind.String()
|
||||
format = "UNKNOWN"
|
||||
}
|
||||
sp := swaggerParameterObject{In: "query", Type: ftype, Format: format}
|
||||
|
||||
for _, tag := range member.Tags() {
|
||||
sp.Name = tag.Name
|
||||
if len(tag.Options) == 0 {
|
||||
sp.Required = true
|
||||
if defineStruct, ok := route.RequestType.(spec.DefineStruct); ok {
|
||||
if strings.ToUpper(route.Method) == http.MethodGet {
|
||||
for _, member := range defineStruct.Members {
|
||||
if strings.Contains(member.Tag, "path") {
|
||||
continue
|
||||
}
|
||||
for _, option := range tag.Options {
|
||||
if strings.HasPrefix(option, defaultOption) {
|
||||
segs := strings.Split(option, equalToken)
|
||||
if len(segs) == 2 {
|
||||
sp.Default = segs[1]
|
||||
}
|
||||
} else if !strings.HasPrefix(option, optionalOption) {
|
||||
tempKind := swaggerMapTypes[strings.Replace(member.Type.Name(), "[]", "", -1)]
|
||||
ftype, format, ok := primitiveSchema(tempKind, member.Type.Name())
|
||||
if !ok {
|
||||
ftype = tempKind.String()
|
||||
format = "UNKNOWN"
|
||||
}
|
||||
sp := swaggerParameterObject{In: "query", Type: ftype, Format: format}
|
||||
|
||||
for _, tag := range member.Tags() {
|
||||
sp.Name = tag.Name
|
||||
if len(tag.Options) == 0 {
|
||||
sp.Required = true
|
||||
continue
|
||||
}
|
||||
for _, option := range tag.Options {
|
||||
if strings.HasPrefix(option, defaultOption) {
|
||||
segs := strings.Split(option, equalToken)
|
||||
if len(segs) == 2 {
|
||||
sp.Default = segs[1]
|
||||
}
|
||||
} else if !strings.HasPrefix(option, optionalOption) {
|
||||
sp.Required = true
|
||||
}
|
||||
}
|
||||
}
|
||||
parameters = append(parameters, sp)
|
||||
}
|
||||
parameters = append(parameters, sp)
|
||||
}
|
||||
|
||||
} else {
|
||||
reqRef := fmt.Sprintf("#/definitions/%s", route.RequestType.Name())
|
||||
} else {
|
||||
|
||||
if len(route.RequestType.Name()) > 0 {
|
||||
var schema = swaggerSchemaObject{
|
||||
schemaCore: schemaCore{
|
||||
Ref: reqRef,
|
||||
},
|
||||
reqRef := fmt.Sprintf("#/definitions/%s", route.RequestType.Name())
|
||||
|
||||
if len(route.RequestType.Name()) > 0 {
|
||||
var schema = swaggerSchemaObject{
|
||||
schemaCore: schemaCore{
|
||||
Ref: reqRef,
|
||||
},
|
||||
}
|
||||
parameters = append(parameters, swaggerParameterObject{
|
||||
Name: "body",
|
||||
In: "body",
|
||||
Required: true,
|
||||
Schema: &schema,
|
||||
})
|
||||
}
|
||||
parameters = append(parameters, swaggerParameterObject{
|
||||
Name: "body",
|
||||
In: "body",
|
||||
Required: true,
|
||||
Schema: &schema,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -146,18 +145,14 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
|
||||
}
|
||||
|
||||
desc := "A successful response."
|
||||
respRef := fmt.Sprintf("#/definitions/%s", route.ResponseType.Name())
|
||||
|
||||
if len(route.ResponseType.Name()) < 1 {
|
||||
respRef = ""
|
||||
respRef := ""
|
||||
if route.ResponseType != nil && len(route.ResponseType.Name()) > 0 {
|
||||
respRef = fmt.Sprintf("#/definitions/%s", route.ResponseType.Name())
|
||||
}
|
||||
|
||||
tags := service.Name
|
||||
|
||||
if value := group.GetAnnotation("group"); len(value) > 0 {
|
||||
tags = value
|
||||
}
|
||||
|
||||
operationObject := &swaggerOperationObject{
|
||||
Tags: []string{tags},
|
||||
Parameters: parameters,
|
||||
|
Loading…
x
Reference in New Issue
Block a user