swagger节点ValidationError:" body"是必须的

时间:2016-06-22 21:52:54

标签: node.js swagger

我在另一个线程中问了另一个问题,这个问题让我开始使用Swagger POST,但在这里我遇到了另一个问题。

这是我的配置json文件中的参数定义

"/people/postTest": {
  "post": {
    "summary": "post test.",
    "description": "Test.",
    "operationId": "postTest",
    "consumes": [
        "application/json"
      ],
    "tags": [
      "test post"
    ],
    "parameters": [
    {
        "in":"body",
        "name":"body",
        "description": "body for the POST request",
        "required":true,
        "schema": {"$ref":"#/definitions/inBody"}
      }

    ] }} 

"definitions": {
     "inBody": {

  "properties": {
    "RequestSystem": {
      "type": "string"
    }}}}

(从一个大文件中复制它,所以只占了一小部分,但语法没有问题)

我正在使用CURL发布我的请求

curl -H "Content-Type: application/json" -X POST -d '{"RequestSystem":"IVR"}' http://localhost:8016/people/postTest

这是我尝试启动节点服务器时遇到的验证错误

**ValidationError: "body" is required**

我知道我正在通过" RequestSystem"参数,但我不知道我在配置json文件' s"参数"中设置我的参数时犯了错误。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我认为您需要制作required=false

[
{
    "in":"body",
    "name":"body",
    "description": "body for the POST request",
    "required":false,
    "schema": {"$ref":"#/definitions/inBody"}
  }
] 
}
}

试试这应该有用。