我有以下處理程序// 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 } ...}以及我通過請求正文發(fā)布的以下結(jié)構(gòu)// 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"`}但是當(dāng)我生成我的文檔時, CreateDatabaseRequeststruct 的屬性顯示為兩個單獨(dú)的查詢參數(shù)。我可以通過創(chuàng)建一個如下定義的附加虛擬結(jié)構(gòu)來修復(fù)它// swagger:parameters createDatabasetype _ struct { // Create database parameter // in: body // required: true Body database.CreateDatabaseRequest}但我真的不喜歡這樣,寧愿只記錄我的請求參數(shù)。關(guān)于如何正確記錄我的結(jié)構(gòu)以便它顯示為請求正文參數(shù)而不是查詢字符串的任何線索?
1 回答

阿晨1998
TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個贊
當(dāng)您使用swagger:parameters
注解時,go-swagger 將該結(jié)構(gòu)視為 API 端點(diǎn)的所有參數(shù)的描述,包括標(biāo)頭、查詢參數(shù)和正文。因此,您需要一個定義所有這些類型參數(shù)的結(jié)構(gòu),以及另一個定義實(shí)際主體結(jié)構(gòu)的結(jié)構(gòu)。因此,據(jù)我所知,沒有辦法擺脫包含主體的第二個結(jié)構(gòu),因?yàn)橹黧w不是 API 的唯一參數(shù)。
- 1 回答
- 0 關(guān)注
- 101 瀏覽
添加回答
舉報
0/150
提交
取消