zeromicro/goctl-swagger

Could not resolve pointer

soasurs opened this issue · 0 comments

Errors in Swagger UI:

Resolver error at definitions.SignUpRequest.properties.email.$ref
Could not resolve reference: Could not resolve pointer: /definitions/string does not exist in document
Resolver error at definitions.SignUpRequest.properties.address.$ref
Could not resolve reference: Could not resolve pointer: /definitions/string does not exist in document

syntax = "v1"

@server (
	jwt: true
	group: users
	prefix: /v1/users
)

service gateway {
	@doc "sign up"
	@handler SignUp
	post /signup (SignUpRequest) returns (SignUpResponse)
}

type SignUpRequest {
	Email    *string `json:"email,optional"` // User Email
	Address  *string `json:"address,optional"`
	Password string  `json:"password"`
	Code     string  `json:"code"`
}

type SignUpResponse {
	Username string `json:"username"`
}
{
  "swagger": "2.0",
  "info": {
    "title": "",
    "version": ""
  },
  "schemes": [
    "http",
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/v1/users/": {
      "get": {
        "summary": "get user",
        "operationId": "Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {}
          }
        },
        "parameters": [
          {
            "name": "age",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "requestBody": {},
        "tags": [
          "users"
        ]
      },
      "put": {
        "summary": "modify user info",
        "operationId": "Modify",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {}
          }
        },
        "requestBody": {},
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/signup": {
      "post": {
        "summary": "sign up",
        "operationId": "SignUp",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/SignUpResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SignUpRequest"
            }
          }
        ],
        "requestBody": {},
        "tags": [
          "users"
        ]
      }
    }
  },
  "definitions": {
    "Error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int64"
        },
        "error": {
          "type": "string"
        }
      },
      "title": "Error",
      "required": [
        "code",
        "error"
      ]
    },
    "GetUserRequest": {
      "type": "object",
      "properties": {
        "age": {
          "type": "integer",
          "format": "int32"
        },
        "limit": {
          "type": "integer",
          "format": "int32"
        }
      },
      "title": "GetUserRequest"
    },
    "SignUpRequest": {
      "type": "object",
      "properties": {
        "email": {
          "$ref": "#/definitions/string",
          "description": " User Email"
        },
        "address": {
          "$ref": "#/definitions/string"
        },
        "password": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      },
      "title": "SignUpRequest",
      "required": [
        "password",
        "code"
      ]
    },
    "SignUpResponse": {
      "type": "object",
      "properties": {
        "username": {
          "type": "string"
        }
      },
      "title": "SignUpResponse",
      "required": [
        "username"
      ]
    }
  },
  "securityDefinitions": {
    "apiKey": {
      "type": "apiKey",
      "description": "Enter JWT Bearer token **_only_**",
      "name": "Authorization",
      "in": "header"
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ]
}