根据 API 文档,要从 POST 请求接收 json 作为 formData,必须使用 body-parser。我已经在网关服务中声明了它,但我仍然无法在我的操作中收到 formData。
api.service.js
module.exports = {
name: "api",
mixins: [ApiGateway],
settings: {
port: process.env.PORT || 3000,
routes: [{
path: "/api",
aliases: {
"POST users": "users.insertUser",
},
//The API Documentation recomends using the body-parser here
bodyParsers: {
json: true,
urlencoded: { extended: true }
},
}],
// In some example they also set the body-parser here
bodyParsers: {
json: true,
urlencoded: { extended: true }
},
},
};
在操作 service.insertUser 操作中,我应该将 req.body 作为 ctx.params 接收,但它始终为空
我的 users.service.js
actions: {
insertUser: {
handler(ctx) {
this.logger.info("posting", ctx.params); // -> prints {} instead of the formData
}
}