Swagger参数问题
Swagger parameter issue
下面是我的代码:
// swagger:route GET /user_list get_user
//
// Get a user profile
// Parameters:
// user_id: userParam
// Consumes:
// - application/json
// Produces:
// - application/json
//
// Responses:
// 200: UserResponse
在我的请求模型中,我添加了如下参数:
// swagger:parameters userParam
type UserRequest struct {
// aaaa
// in: query
UserId string `json:"user_id"`
}
当我生成 swagger 时出现以下错误 json。
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/go-swagger/go-swagger/scan.(*setOpParams).Parse(0xc428986a20, 0xc426439f30, 0x1, 0x1, 0x0, 0x0)
/home/sotsys-056/go_10/src/github.com/go-swagger/go-swagger/scan/route_params.go:137 +0x635
github.com/go-swagger/go-swagger/scan.(*tagParser).Parse(0xc426e873d0, 0xc426439f30, 0x1, 0x1, 0x0, 0xc426439f30)
/home/sotsys-056/go_10/src/github.com/go-swagger/go-swagger/scan/scanner.go:526 +0x52
当我删除参数部分时,它工作正常我没有生成 swagger json 但是使用参数我无法生成它。
这些方法我也试过
// Parameters:
// - user_id: [in:query required:true type:string] Description goes her
parameters:
- name: user_id
in: query
description: this argument is a string
schema:
type: string
您的示例不完整。但是,使用您拥有的代码,您的代码应该以最简单的形式看起来像这样:
// swagger:parameters GetUser
type GetUser struct {
// UserId that identifies a user.
//
// in: query
UserId string `json:"user_id"`
}
// Returns a user.
// swagger:response UserResponse
type UserResponse struct {
// in: body
Body struct {}
}
// swagger:route GET /user_list GetUser
//
// Get a user profile.
//
// Responses:
// 200: UserResponse
router.Get("/user_list", handler.GetUser)
注意我们有三件事:
- 请求对象
- 响应对象
- 同时使用请求和响应对象的路由
下面是我的代码:
// swagger:route GET /user_list get_user
//
// Get a user profile
// Parameters:
// user_id: userParam
// Consumes:
// - application/json
// Produces:
// - application/json
//
// Responses:
// 200: UserResponse
在我的请求模型中,我添加了如下参数:
// swagger:parameters userParam
type UserRequest struct {
// aaaa
// in: query
UserId string `json:"user_id"`
}
当我生成 swagger 时出现以下错误 json。
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/go-swagger/go-swagger/scan.(*setOpParams).Parse(0xc428986a20, 0xc426439f30, 0x1, 0x1, 0x0, 0x0)
/home/sotsys-056/go_10/src/github.com/go-swagger/go-swagger/scan/route_params.go:137 +0x635
github.com/go-swagger/go-swagger/scan.(*tagParser).Parse(0xc426e873d0, 0xc426439f30, 0x1, 0x1, 0x0, 0xc426439f30)
/home/sotsys-056/go_10/src/github.com/go-swagger/go-swagger/scan/scanner.go:526 +0x52
当我删除参数部分时,它工作正常我没有生成 swagger json 但是使用参数我无法生成它。
这些方法我也试过
// Parameters:
// - user_id: [in:query required:true type:string] Description goes her
parameters:
- name: user_id
in: query
description: this argument is a string
schema:
type: string
您的示例不完整。但是,使用您拥有的代码,您的代码应该以最简单的形式看起来像这样:
// swagger:parameters GetUser
type GetUser struct {
// UserId that identifies a user.
//
// in: query
UserId string `json:"user_id"`
}
// Returns a user.
// swagger:response UserResponse
type UserResponse struct {
// in: body
Body struct {}
}
// swagger:route GET /user_list GetUser
//
// Get a user profile.
//
// Responses:
// 200: UserResponse
router.Get("/user_list", handler.GetUser)
注意我们有三件事:
- 请求对象
- 响应对象
- 同时使用请求和响应对象的路由