2017-06-12 3 views
0

Ich bin neu bei Knoten js und swagger-ui.Verschachtelte JSON als Anfragekörper Eingabe mit swagger-ui in Knoten js

Ich mag unter Eingabe Körper auf meinen Web-Service mit Prahlerei-ui,

ich in der Lage normale json wie passieren bin weitergeben müssen:

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

aber ich mag meine Web folgende Eingabe geben Service mit Swagger-Ui.

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

meine api-docs.json Datei unter:

{ 
    "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": [] 
} 

Wie also unter Eingang passieren kann Prahlerei-ui auf meinen Web-Dienst:

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

Jede Hilfe wird nennenswert.

Dank Im Voraus.

Antwort

0

Ich verwende immer das XML-Format. Versuche dies. sollte arbeiten. Jetzt erhalten Sie die Details in der 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": [] 
} 
Verwandte Themen