为了账号安全,请及时绑定邮箱和手机立即绑定

招摇:参数一直显示为查询字符串参数

招摇:参数一直显示为查询字符串参数

Go
紫衣仙女 2022-10-24 09:36:29
我有以下处理程序// Create database// swagger:route POST /databases createDatabase//// Create database//// Security://  oauth2://// responses://   202: Database//   401: Error//   ...func (h Handler) Create(c *gin.Context) {    var request CreateDatabaseRequest    if err := handler.DataBinder(c, &request); err != nil {        _ = c.Error(err)        return    }    ...}以及我通过请求正文发布的以下结构// CreateDatabaseRequest// swagger:parameters createDatabase// in: body// required: true//// Create database input parametertype CreateDatabaseRequest struct {    Name    string `json:"name" binding:"required"`    GroupId uint   `json:"groupId" binding:"required"`}但是当我生成我的文档时, CreateDatabaseRequeststruct 的属性显示为两个单独的查询参数。我可以通过创建一个如下定义的附加虚拟结构来修复它// swagger:parameters createDatabasetype _ struct {    // Create database parameter    // in: body    // required: true    Body database.CreateDatabaseRequest}但我真的不喜欢这样,宁愿只记录我的请求参数。关于如何正确记录我的结构以便它显示为请求正文参数而不是查询字符串的任何线索?
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

当您使用swagger:parameters注解时,go-swagger 将该结构视为 API 端点的所有参数的描述,包括标头、查询参数和正文。因此,您需要一个定义所有这些类型参数的结构,以及另一个定义实际主体结构的结构。因此,据我所知,没有办法摆脱包含主体的第二个结构,因为主体不是 API 的唯一参数。



查看完整回答
反对 回复 2022-10-24
  • 1 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信