go-swagger - 请求正文中的对象数组
go-swagger - array of objects in request body
我正在使用 go-swagger 为我们的 API 生成 swagger 文件
我一直在尝试为一个 API 添加评论,该评论获取请求中的对象数组,但 go-swagger 似乎没有识别它
我的请求在 JSON 格式中看起来像这样:
{
[
{
"name": "title1",
"label": "tag1",
"sort": true
},
{
"name": "title2",
"label": "tag2",
"sort": true
}
]
}
这就是我现在的评论
// swagger:route POST /admin/qc QC createQC
//
// Creates a new QC.
//
//
// Consumes:
// - application/json
//
// Produces:
// - application/json
//
// Schemes: https
//
// Deprecated: false
//
//
// Parameters:
// + name: Authorization
// in: header
// required: true
// type: string
//
// + name: input
// in: body
// required: true
// type: array
// items: QC
//
// Responses:
// 200: StatusOK
这是生成的 swagger 文件
/admin/qc:
post:
consumes:
- application/json
operationId: createQC
parameters:
- in: header
name: Authorization
required: true
type: string
- in: body
name: input
required: true
schema:
type: array
produces:
- application/json
responses:
"200":
description: StatusOK
schema:
$ref: '#/definitions/StatusOK'
schemes:
- https
summary: Creates a new QC.
tags:
- QC
go-swagger 不会选取此注释中的项目类型。
不幸的是,更改此 API 的请求类型的选项不可用。
有人知道我应该如何注释吗?
为了注释此类请求,您需要像这样定义一个新结构:
// swagger:parameters createQC
type CreateQCReqs struct {
// in: body
Body []*CreateQCReq
}
您需要使用 swagger:parameters
后跟 api
的操作 ID 对其进行注释
之后你需要用你想要的数据类型定义 Body
字段
在我的例子中,它是 CreateQCReq
的数组
之后你需要去掉你的swagger:route
中的body参数,否则你的swagger文件中的body字段会生成2次
我正在使用 go-swagger 为我们的 API 生成 swagger 文件 我一直在尝试为一个 API 添加评论,该评论获取请求中的对象数组,但 go-swagger 似乎没有识别它
我的请求在 JSON 格式中看起来像这样:
{
[
{
"name": "title1",
"label": "tag1",
"sort": true
},
{
"name": "title2",
"label": "tag2",
"sort": true
}
]
}
这就是我现在的评论
// swagger:route POST /admin/qc QC createQC
//
// Creates a new QC.
//
//
// Consumes:
// - application/json
//
// Produces:
// - application/json
//
// Schemes: https
//
// Deprecated: false
//
//
// Parameters:
// + name: Authorization
// in: header
// required: true
// type: string
//
// + name: input
// in: body
// required: true
// type: array
// items: QC
//
// Responses:
// 200: StatusOK
这是生成的 swagger 文件
/admin/qc:
post:
consumes:
- application/json
operationId: createQC
parameters:
- in: header
name: Authorization
required: true
type: string
- in: body
name: input
required: true
schema:
type: array
produces:
- application/json
responses:
"200":
description: StatusOK
schema:
$ref: '#/definitions/StatusOK'
schemes:
- https
summary: Creates a new QC.
tags:
- QC
go-swagger 不会选取此注释中的项目类型。 不幸的是,更改此 API 的请求类型的选项不可用。
有人知道我应该如何注释吗?
为了注释此类请求,您需要像这样定义一个新结构:
// swagger:parameters createQC
type CreateQCReqs struct {
// in: body
Body []*CreateQCReq
}
您需要使用 swagger:parameters
后跟 api
的操作 ID 对其进行注释
之后你需要用你想要的数据类型定义 Body
字段
在我的例子中,它是 CreateQCReq
的数组
之后你需要去掉你的swagger:route
中的body参数,否则你的swagger文件中的body字段会生成2次