gpt4 book ai didi

go - 使用 go-restful 和 swagger 显示 PUT 正文格式

转载 作者:数据小太阳 更新时间:2023-10-29 03:28:56 28 4
gpt4 key购买 nike

我正在使用 go-restful 和 swagger 来生成运行良好的 apidoc。我面临的问题是,当我向文档添加主体参数时,我想指定数据类型及其格式。我可以指定数据类型(即 UserFields),但 JSON 的格式不会显示在 Swagger UI 中,这非常方便。

这是我正在谈论的一个例子:以下链接显示了主体参数及其旁边相应的 JSON/模型 http://petstore.swagger.wordnik.com/#!/store/placeOrder

在我的例子中,缺少 JSON/模型,只显示数据类型 http://ibounce.co:8282/apidocs/#!/users/PutUserField

这是为这个特定端点生成文档的示例 Go 代码。

ws.Route(ws.PUT("/{id}/fields").
To(PutUserField).
Doc("Update user fields").
Operation("PutUserField").
Param(ws.HeaderParameter("Authorization", "username and password").DataType("string")).
Param(ws.PathParameter("id", "identifier of the user").DataType("int")).
Param(ws.BodyParameter("body", "identifier of the user").DataType("UserFields")).
Returns(http.StatusOK, http.StatusText(http.StatusOK), User{}).
Returns(http.StatusUnauthorized, http.StatusText(http.StatusUnauthorized), ApiError{}).
Returns(http.StatusBadRequest, http.StatusText(http.StatusBadRequest), ApiError{}))

UserFields 是一个结构体:

type UserFields struct {
Email string `json:"email,omitempty"`
Phone string `json:"phone,omitempty"`
URL string `json:"url,omitempty"`
Address string `json:"address,omitempty"`
}

如有任何建议,我们将不胜感激。

最佳答案

我想通了。在上面的 Go 代码中代替

DataType("UserFields")

我必须使用

DataType("main.UserFields")

关于go - 使用 go-restful 和 swagger 显示 PUT 正文格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26975711/

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