1

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

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

就我而言,缺少 JSON/模型,仅显示 DataType 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"`
}

任何建议将不胜感激。

4

1 回答 1

1

我想到了。在上面的 Go 代码中,而不是

DataType("UserFields")

我必须使用

DataType("main.UserFields")
于 2014-11-17T19:07:50.690 回答