1

我正在尝试为我用 Golang 编写的 REST 端点定义一个招摇的操作。我需要指定 POST 请求正文和响应。

// swagger:operation POST /user user createUser
//
// Creates user
//
// produces:
// - application/json
// parameters:
// - name: requestBody
//   in: body
//   description: user details
//   required: true
//   schema:
//     "$ref": "#/definitions/User"
// responses:
//  200: CommonResponse
//  400: CommonResponse
//  500: CommonResponse

// CreateUser will create user
func (h *UserHandler) CreateUser(c *gin.Context) {

但是我在尝试生成相同的规范时遇到错误

cd cmd/server && GO111MODULE=on swagger generate spec -o ../../api/swagger.json -m
operation (createUser): no spec available to unmarshal
Makefile:5: recipe for target 'generate-swagger' failed
make: *** [generate-swagger] Error 1

请帮我解决这些问题。这里指定的规格是什么。提前谢谢

4

1 回答 1

1

我认为您缺少一组---必须在 yaml 部分之前的破折号。

(请参阅本页示​​例上方的行:https ://goswagger.io/use/spec/operation.html )

这个更新的评论应该适合你:

// swagger:operation POST /user user createUser
//
// Creates user
//
// ---
// produces:
// - application/json
// parameters:
// - name: requestBody
//   in: body
//   description: user details
//   required: true
//   schema:
//     "$ref": "#/definitions/User"
// responses:
//  200: CommonResponse
//  400: CommonResponse
//  500: CommonResponse
于 2020-06-15T09:18:31.950 回答