You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:28:11