我正在使用 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"`
}
任何建议将不胜感激。