Swagger 整数类型导致错误 Expected `string` for value, got `1`

Swagger integer type cause an error Expected `string` for value, got `1`

我对 swagger 2.0 不是很在行,你能帮帮我吗?我正在尝试描述 body 参数,但出现错误。这是我的 swagger.json 文件:

{
  "swagger": "2.0",
  "info": {
    "title": "Simple API overview",
    "version": "v2"
  },
  "host": "localhost:4000",
  "basePath": "/",
  "paths": {
    "/user/register": {
      "post": {
        "operationId": "register",
        "summary": "User registration",
        "parameters": [{
          "in": "body",
          "name": "role",
          "required": true,
          "schema": {
            "type": "integer",
            "example": 1
          }
        }]
      }
    }
  }
}

当我尝试 运行 它时,出现错误:

Error: Expected `string` for value, got `1`

如果我删除 example 字段,我在示例值部分得到了这个:

{}

看起来类型定义不正确,但我无法弄清楚我的代码和 swagger 文档中的示例有什么区别。

感谢任何帮助。

谢谢。

我找到了原因:应该有 consumes 字段定义为 text/plain。默认为 application/json.

完整代码:

{
  "swagger": "2.0",
  "info": {
    "title": "Simple API overview",
    "version": "v2"
  },
  "host": "localhost:4000",
  "basePath": "/",
  "paths": {
    "/user/register": {
      "post": {
        "operationId": "register",
        "summary": "User registration",
        "consumes": ["text/plain"],
        "parameters": [{
          "in": "body",
          "name": "role",
          "required": true,
          "schema": {
            "type": "integer",
            "example": 1
          }
        }]
      }
    }
  }
}