Go Swagger 文档如何标识必填字段?

go swagger 文档如何标识必填字段?

go swagger 文档字段必填问题

有开发者反映,go 版的 swagger 在使用时遇到困难,遇到的具体问题是字段标注为必填,但查看文档时需要逐个点开才能确认。

必填字段标识

正常情况下,必填参数会在文档中显示一个红色星号(*)。

错误示例 (注释自动生成)

type loginstructjson struct {
    userid         string `json:"user_id" valid:"required" structs:"user_id" binding:"required"` // 用户id
    regionid       string `json:"region_id" valid:"required" structs:"region_id"`                // 地区id        | 必填
    regionname     string `json:"region_name" valid:"required" structs:"region_name"`            // 地区名称        | 必填
    timezoneid     string `json:"timezone_id" valid:"required" structs:"timezone_id"`            // 时区id        | 必填
    timezonename   string `json:"timezone_name" valid:"required" structs:"timezone_name"`        // 时区名称        | 必填
    areaserverid   string `json:"area_server_id" valid:"required" structs:"area_server_id"`      // 区服id        | 必填
    areaservername string `json:"area_server_name" valid:"required" structs:"area_server_name"`  // 区服名称        | 必填
    channelid      string `json:"channel_id" valid:"required" structs:"channel_id"`              // 渠道id        | 必填
    channelname    string `json:"channel_name" valid:"required" structs:"channel_name"`          // 渠道名称        | 必填
    gameid         int    `json:"game_id" valid:"required" structs:"game_id"`                    // 游戏id         | 必填
    gamename       string `json:"game_name" structs:"game_name"`                                 // 游戏名称
    equipid        string `json:"equip_id" valid:"required" structs:"equip_id"`                  // 设备id          | 必填
    gameplatform   int    `json:"game_platform" valid:"min(0)" structs:"game_platform"`          // 平台类型         | 必填
    stoptime       int    `json:"stop_time" structs:"stop_time"`                                 // 停留时间      | 默认 0
}

正确示例 (手动编写)

必填参数后面会自带一个红色的`*`。

建议不使用注释自动生成

建议不要使用注释自动生成文档的方式,其缺点如下:

  • 三方框架更新缓慢,无法支持最新的 openapi 标准。
  • 注释代码量的实际并不减少。
  • 会对源代码造成侵入。

推荐使用官方提供的 swagger editor 工具手动编写接口文档。

以上就是Go Swagger 文档如何标识必填字段?的详细内容,更多请关注其它相关文章!