gpt4 book ai didi

swagger - 使用 swaggo/swag 创建 Post 请求文档

转载 作者:行者123 更新时间:2023-12-05 02:58:14 27 4
gpt4 key购买 nike

我只是在学习 go 并将其用于一个简单的 Todo 教程(那里有很多),但我想在组合中加入 swagger。不管是好是坏,我发现了 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]

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

麦克.

最佳答案

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

关于swagger - 使用 swaggo/swag 创建 Post 请求文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59168039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com