使用时出错 go-swagger 文档生成 json.RawMessage
Error go-swagger docs generation when use json.RawMessage
我有一个带有 swagger 文档生成功能的 go web 应用程序。最近在我的项目中添加了新端点,它在 POST & PUT 请求中使用以下结构:
Secret struct {
// Secret unique key name.
Name string `json:"name" example:"ACCESS_TOKEN"`
// type: string
// x-go-type: "string"
Value json.RawMessage `json:"value" swagger:"type:string"`
// Tags in which this secret is used.
Tags []string `json:"tags" example:"dev,prod,omitempty"`
}
当我尝试使用以下命令构建 swagger 文档时:swag init -md ./documentation -o ./swagger
我收到以下错误:
如果我理解正确,应该添加 type definition explicitly
,但我不明白如何正确定义类型,所有注释组合都不起作用。此问题与 json.RawMessage
类型(值字段)有关,因为如果我将此类型替换为 interface{} 一切正常。
我找到了我的问题的解决方案,之前我不得不省略使用 --parseDependency
因为 swagger 文档生成挂起但是如果我同时通过 --parseDepth
1 我的文档生成成功,所以完整的 cmd 是:
swag init --parseDependency --parseInternal --parseDepth 1 -md ./documentation -o ./swagger
据我所知,这是因为 json.RawMessage
需要导入 但如果我没有使用 --parseDependency
json.RawMessage 类型,则无法找到但是在我的问题案例中,单个 --parseDependency 挂起,因此无法使用。解决方案是使用 --parseDepth
参数
我有一个带有 swagger 文档生成功能的 go web 应用程序。最近在我的项目中添加了新端点,它在 POST & PUT 请求中使用以下结构:
Secret struct {
// Secret unique key name.
Name string `json:"name" example:"ACCESS_TOKEN"`
// type: string
// x-go-type: "string"
Value json.RawMessage `json:"value" swagger:"type:string"`
// Tags in which this secret is used.
Tags []string `json:"tags" example:"dev,prod,omitempty"`
}
当我尝试使用以下命令构建 swagger 文档时:swag init -md ./documentation -o ./swagger
我收到以下错误:
如果我理解正确,应该添加 type definition explicitly
,但我不明白如何正确定义类型,所有注释组合都不起作用。此问题与 json.RawMessage
类型(值字段)有关,因为如果我将此类型替换为 interface{} 一切正常。
我找到了我的问题的解决方案,之前我不得不省略使用 --parseDependency
因为 swagger 文档生成挂起但是如果我同时通过 --parseDepth
1 我的文档生成成功,所以完整的 cmd 是:
swag init --parseDependency --parseInternal --parseDepth 1 -md ./documentation -o ./swagger
据我所知,这是因为 json.RawMessage
需要导入 但如果我没有使用 --parseDependency
json.RawMessage 类型,则无法找到但是在我的问题案例中,单个 --parseDependency 挂起,因此无法使用。解决方案是使用 --parseDepth
参数