我试图通过swagger将数据发送到节点API,但我无法在后端接收数据。 req.body
是空的。任何帮助或建议将不胜感激。
MY Swagger代码:
/login:
post:
tags:
- "login"
summary: "User login"
description: ""
operationId: "auth"
consumes:
- "application/json"
- "application/xml"
- "html/text"
produces:
- "application/xml"
- "application/json"
- "html/text"
parameters:
- in: "body"
name: "body"
description: "User data that need to be passed for login "
required: true
schema:
$ref: "#/definitions/Login"
responses:
200:
description: "Success input"
definitions:
Login:
type: "object"
properties:
username:
type: "string"
xml:
name: "Login" name: "Login"
后端代码:
router.post('/login', (req, res, next) => {
console.log(req.body);
})
答案 0 :(得分:-1)
如果您使用快速中间件,则需要添加body-parser才能访问req.body:
https://www.npmjs.com/package/body-parser
导入它:
let server = new Express();
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({// to support URL-encoded bodies
extended: true
}));
并添加:
var cmd = './xmllint --xpath "//OrderData" ' + this.filename + ' | ' + __dirname + '/node_modules/xml2json/bin/xml2json';
exec(cmd, function(error, stdout, stderr) { ... }