使用swaggo / swag创建请求后文档

时间:2019-12-04 02:18:49

标签: swagger

我只是在学习go并将其用于简单的Todo教程(其中有很多教程),但我想大张旗鼓。不管是好是坏,我发现赃物/赃物并开始使用它,并且在记录应用程序的“获取”和“删除”方面非常成功。

// @Summary Show a specific todo
// @Description Show a specific todo
// @ID TodoShow
// @Accept  json
// @Produce  json
// @Param todoID path int true "TODO ID"
// @Success 200 {string} string "ok"
// @Router /todos/{todoID} [get]

但是,我找不到任何有关如何定义结构并将其表示为swagger UI中的输入主体的文档或示例。

我能找到的最好的是以下

// @Summary Create a new Todo
// @Description Create a new Todo
// @ID TodoCreate
// @Accept  json
// @Produce  json
// @Param Todo body Todo true "Add TODO"
// @Success 200 {string} string "ok"
// @Router /todos/{todo} [post]

其中参数Todo是一个简单的结构

package main

import "time"

// Todo : define the Todo structure
type Todo struct {
    ID int              `json:"id"`
    Name      string    `json:"name"`
    Completed bool      `json:"completed"`
    Due       time.Time `json:"due"`
}

尽管这在swagger UI中显示为要输入参数的位置,但没有真正的模型或辅助函数,正如我在更多手动编码的swagger实现中所看到的那样。

MikeC。

1 个答案:

答案 0 :(得分:0)

我将模型放入model程序包中,并进行了更正:

// @Summary Create a new Todo
// @Description Create a new Todo
// @ID TodoCreate
// @Accept  json
// @Produce  json
// @Param data body model.Todo true "The input todo struct"
// @Success 200 {string} string "ok"
// @Router /todos/todo [post]
相关问题