swagger go中工作岗位的示例代码

swagger go中工作岗位的示例代码,go,swagger,Go,Swagger,在这种方法中我做错了什么 我尝试重新实现一个旧的API,但是go实现是无效的。基本上,我尝试将字符串列表发布到服务器。但我得到的只是服务器发出的错误500,当我尝试时: go run gen/cmd/greeter-server/main.go --port=3000 & echo '["a","b"]' | http -v post :34307/api/greeting/2.0/revisit 结果 HTTP/1.1 500 Internal Server Error Con

在这种方法中我做错了什么

我尝试重新实现一个旧的API,但是go实现是无效的。基本上,我尝试将字符串列表发布到服务器。但我得到的只是服务器发出的错误500,当我尝试时:

go run gen/cmd/greeter-server/main.go --port=3000  &
echo '["a","b"]' |  http -v post  :34307/api/greeting/2.0/revisit
结果

HTTP/1.1 500 Internal Server Error
Content-Length: 68
Content-Type: application/json
Date: Mon, 06 Mar 2017 17:41:16 GMT

{
    "code": 500,
    "message": "no consumer registered for application/json"
}
这就是我试图实现的代码

  api.TrackingRevisitHandler = operations.TrackingRevisitHandlerFunc(
                func(params operations.TrackingRevisitParams) middleware.Responder {

                        list := params.IdList
                        log.Printf("%v\n",list)
                        return operations.NewTrackingRevisitOK().WithPayload("RESULT")
        })
我用

swagger generate server -A greeter -t gen -f ./swagger/swagger.yml
要从此yaml生成服务器,请执行以下操作:

---
swagger: '2.0'
info:
  version: 1.0.0
  title: Greeting Server

basePath: "/api/greeting/2.0"

paths:
  /revisit:
    post:
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
        - name: site
          required: true
          type: string
          in: query
          description: site name

        - name: userlist
          in: body
          description: list of users
          required: true
          schema:
            "$ref": "#/definitions/Userlist"


      operationId: trackingRevisit

      responses:
        200:
          description:  return list of users which need revisit
          schema:
            type: string

如果将消耗和生产移动到顶层,它将开始工作

另一种方法是设置json使用者。这是go-swagger中的一个bug


您可以查看此问题:为了获得正确的分辨率,如果将消耗和生产移动到最高级别,它将开始工作

另一种方法是设置json使用者。这是go-swagger中的一个bug

您可以关注此问题:以获得适当的解决方案