嵌套 json 作为请求体 Input using swagger-ui in node js

Nested json as a request body Input using swagger-ui in node js

我是 node js 和 swagger 的新手-ui.

我想使用 swagger-ui,

将下面的输入正文传递到我的网络服务

我可以正常通过 json 像:

{
"username":"abc",
"password":"******"
}

但我想使用 swagger-ui 向我的 Web 服务提供以下输入。

{
"data":
{"username":"abc",
"password":"******"
}
}

我的api-docs.json文件如下:

{
  "info": {
    "title": "Node Swagger API",
    "version": "1.0.0",
    "description": "Demonstrating how to describe a RESTful API with Swagger"
  },
  "host": "localhost:5002",
  "basePath": "/",
  "swagger": "2.0",
  "paths": {

    "/login": {
      "post": {
        "description": "user login",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "userName",
            "description": "username to get userType",
            "required": true,
            "type": "string",
            "in": "formData"
          },
          {
            "name": "password",
            "description": "password to get userType",
            "required": true,
            "type": "string",
            "in": "formData"
          }



        ],
        "responses": {
          "0": {
            "description": "Access token has been expired. Please login again."
          },
          "200": {
            "description": "Successfully returns the response"
          },
          "400": {
            "description": "Invalid input Parameters"
          },
          "401": {
            "description": "Invalid Access Token"
          },
          "404": {
            "description": "No data found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "definitions": {},
  "responses": {},
  "parameters": {},
  "securityDefinitions": {},
  "tags": []
}

那么如何使用 swagger-ui 将以下输入传递到我的网络服务:

{
    "data":
    {"username":"abc",
    "password":"******"
    }
    }

任何帮助都将不胜感激。

提前致谢。

我一直使用yml格式。试试这个。应该管用。现在您将在 req.body 中获得详细信息。

{
"info": {
"title": "Node Swagger API",
"version": "1.0.0",
"description": "Demonstrating how to describe a RESTful API with Swagger"
},
"host": "localhost:5002",
"basePath": "/",
"swagger": "2.0",
"paths": {

"/login": {
"post": {
"description": "user login",
"produces": [
  "application/json"
],
"parameters": [
  {
    "name": "userDetails",
    "description": "username to get userType",
    "required": true,
    "in": "body",
    "schema": {
      "$ref": "#/definitions/User"
    }
  }
],
"responses": {
  "0": {
    "description": "Access token has been expired. Please login again."
  },
  "200": {
    "description": "Successfully returns the response"
  },
  "400": {
    "description": "Invalid input Parameters"
  },
  "401": {
    "description": "Invalid Access Token"
  },
  "404": {
    "description": "No data found"
  },
  "500": {
    "description": "Internal Server Error"
  }
}
  }
}
 },
 "definitions": {
 "User" : {
    "type":"object",
    "properties": {
      "data": {
        "type": "object",
        "properties": {
        "username": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      }
    }
  }
 }
 },
 "responses": {},
"parameters": {},
"securityDefinitions": {},
"tags": []
}