This commit is contained in:
MaxToby 2021-01-20 22:38:54 +08:00
parent 3ccab1b039
commit 2ce3fc9b26
2 changed files with 52 additions and 73 deletions

View File

@ -6,21 +6,21 @@ info(
version: "type version here" version: "type version here"
) )
type ( type (
RegisterReq { RegisterReq {
Username string `json:"username"` Username string `json:"username"`
Password string `json:"password"` Password string `json:"password"`
Mobile string `json:"mobile"` Mobile string `json:"mobile"`
} }
// 登录请求
LoginReq { LoginReq {
Username string `json:"username" desc:"用户名"` Username string `json:"username"`
Password string `json:"password"` //密码 Password string `json:"password"`
} // 登录请求 }
UserInfoReq { UserInfoReq {
Id string `path:"id"` // 会员ID Id string `path:"id"`
Page string `form:"page,default=1"` //分页
} }
UserInfoReply { UserInfoReply {
@ -34,17 +34,11 @@ type (
UserSearchReq { UserSearchReq {
KeyWord string `form:"keyWord"` KeyWord string `form:"keyWord"`
} }
UserSearchReply {
KeyWord []*UserInfoReply
KeyWords []*UserSearchReq
}
) )
service user-api { service user-api {
@doc( @doc(
summary: "注册" summary: "注册"
description: "注册一个用户"
) )
@handler register @handler register
post /api/user/register (RegisterReq) post /api/user/register (RegisterReq)
@ -65,15 +59,5 @@ service user-api {
summary: "用户搜索" summary: "用户搜索"
) )
@handler searchUser @handler searchUser
get /api/user/search (UserSearchReq) returns (UserSearchReply) get /api/user/search (UserSearchReq) returns (UserInfoReply)
}
@server(
jwt: Auth
group: greet
middleware: LogHandler
)
service user-api {
@handler ping
get /user/ping
} }

View File

@ -85,15 +85,12 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
} }
} }
} }
defineStruct, _ := route.RequestType.(spec.DefineStruct) if defineStruct, ok := route.RequestType.(spec.DefineStruct); ok {
if strings.ToUpper(route.Method) == http.MethodGet { if strings.ToUpper(route.Method) == http.MethodGet {
for _, member := range defineStruct.Members { for _, member := range defineStruct.Members {
if strings.Contains(member.Tag, "path") { if strings.Contains(member.Tag, "path") {
continue continue
} }
tempKind := swaggerMapTypes[strings.Replace(member.Type.Name(), "[]", "", -1)] tempKind := swaggerMapTypes[strings.Replace(member.Type.Name(), "[]", "", -1)]
ftype, format, ok := primitiveSchema(tempKind, member.Type.Name()) ftype, format, ok := primitiveSchema(tempKind, member.Type.Name())
if !ok { if !ok {
@ -123,6 +120,7 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
} }
} else { } else {
reqRef := fmt.Sprintf("#/definitions/%s", route.RequestType.Name()) reqRef := fmt.Sprintf("#/definitions/%s", route.RequestType.Name())
if len(route.RequestType.Name()) > 0 { if len(route.RequestType.Name()) > 0 {
@ -139,6 +137,7 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
}) })
} }
} }
}
pathItemObject, ok := paths[path] pathItemObject, ok := paths[path]
if !ok { if !ok {
@ -146,18 +145,14 @@ func renderServiceRoutes(service spec.Service, groups []spec.Group, paths swagge
} }
desc := "A successful response." desc := "A successful response."
respRef := fmt.Sprintf("#/definitions/%s", route.ResponseType.Name()) respRef := ""
if route.ResponseType != nil && len(route.ResponseType.Name()) > 0 {
if len(route.ResponseType.Name()) < 1 { respRef = fmt.Sprintf("#/definitions/%s", route.ResponseType.Name())
respRef = ""
} }
tags := service.Name tags := service.Name
if value := group.GetAnnotation("group"); len(value) > 0 { if value := group.GetAnnotation("group"); len(value) > 0 {
tags = value tags = value
} }
operationObject := &swaggerOperationObject{ operationObject := &swaggerOperationObject{
Tags: []string{tags}, Tags: []string{tags},
Parameters: parameters, Parameters: parameters,