Go中使用swaggo/swag:示例省略字段但保留Schema的方法
解决办法
针对你要保留Schema但移除示例中FieldTwo字段的需求,有两种可行方案:
方案一:利用swaggo的example标签特殊值
直接给FieldTwo字段添加example:"-"标签,swaggo识别到这个值时,会在生成示例时跳过该字段,但仍会保留它在Schema中的定义:
type Blah struct { FieldOne string `json:"field_one"` FieldTwo string `json:"field_two" example:"-"` }
方案二:手动指定API接口的示例响应
如果方案一不生效,你可以在接口的注释里通过@Success标签手动编写不含FieldTwo的JSON示例,这样生成的文档示例会完全按照你写的来,同时Schema依然保留完整的结构体定义:
// @Summary 示例接口 // @Success 200 {object} Blah "{\"field_one\": \"sample_value\"}" // @Router /example [get] func ExampleHandler(w http.ResponseWriter, r *http.Request) { // 业务逻辑 }
优先推荐方案一,实现更简洁直接。
内容的提问来源于stack exchange,提问作者Ulrar
相关产品推荐
相关产品推荐

