【问题标题】:Creating Post request documentation with swaggo/swag使用 swago/swag 创建 Post 请求文档
【发布时间】:2019-12-04 02:18:49
【问题描述】:

我只是在学习 Go 并将其用于一个简单的 Todo 教程(其中有很多),但我想在组合中加入招摇。不管好坏,我找到了 swag/swag 并开始使用它,并且在记录应用程序的获取和删除方面非常成功。

// @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]

但是,我找不到任何有关如何定义结构并将其表示为招摇 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 实现中看到的那样。

麦克C.

【问题讨论】:

    标签: swagger


    【解决方案1】:

    我会将模型放入 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]
    

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 2020-08-01
      • 2023-03-09
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      相关资源
      最近更新 更多