syntax = "v1"

info(
    title: "xx实例"
    desc: "xx实例"
    author: "author"
    email: "email"
    version: "v1"
)

@server(
    prefix: user/v1
    group: user
    jwt: JwtAuth
)
service Core {
    @handler getUser
    post /user/:id (UserGetRequest) returns (UserGetResponse)
    @handler saveUser
    post /user (UserSaveRequest) returns (UserSaveResponse)
    @handler deleteUser
    delete /user/:id (UserDeleteRequest) returns (UserDeleteResponse)
    @handler updateUser
    put /user/:id (UserUpdateRequest) returns (UserUpdateResponse)
    @handler searchUser
    post /user/search (UserSearchRequest) returns (UserSearchResponse)
}

type (
    UserGetRequest {
		Id int64 `path:"id"`
	}
    UserGetResponse struct{
		User UserItem `json:"user"`
    }

	UserSaveRequest struct{
		User UserItem `json:"user"`
    }
    UserSaveResponse struct{}

	UserDeleteRequest struct{
        Id int64 `path:"id"`
    }
    UserDeleteResponse struct{}

	UserUpdateRequest struct{
		Id int64 `path:"id"`
        User UserItem `json:"user"`
    }
    UserUpdateResponse struct{}

 	UserSearchRequest struct{
         Page int  `json:"page"`
         Size int  `json:"size"`
    }
    UserSearchResponse{
        List []UserItem  `json:"list"`
        Total int64 `json:"total"`
    }
	UserItem struct{
	
	}
)