如何 post 2 节点 js 应用程序之间的数据 o
How to post data between 2 node js apps o
在同一个 AWS EC2 实例上我 运行 2 Node.js 个应用程序。
第一个充当 API 网关(验证凭据,限制请求)。
第二个负责将信息保存在数据库中。我需要 2 个应用程序,因为它们最终将成为 2 个独立的微服务。现在将它们托管在同一个实例上更便宜。
我需要将 POST 请求从第一个应用转发到第二个应用。其中一个字段包含大块 HTML 并且不能在 GET 请求中传递(加上编码问题)。
第一个应用程序从浏览器接收到 AJAX POST 并使用请求模块转发数据。我正在使用本地主机调用其他服务。
router.post('/save', (req, res) => {
let json_obj = JSON.stringify(req.body)
let url = "http://127.0.0.1:3000/save"
request.post({
headers: {'content-type': 'application/x-www-form-urlencoded'},
url: url,
form: json_obj
}, function(error, response, body){
res.send(body)
})
});
第二个应用侦听数据,但 req.body
为空
router.post('/save', (req, res) => {
console.log(req.body)
是否可以在应用之间转发数据?或者我应该有另一种方法吗?
我不得不使用 body-parser 来处理请求的正文。
const bodyParser = require('body-parser')
...
// Configure express to use body-parser as middle-ware.
app.use(bodyParser.urlencoded({limit: '3mb', extended: true }))
app.use(bodyParser.json({limit: '3mb'}))
在同一个 AWS EC2 实例上我 运行 2 Node.js 个应用程序。 第一个充当 API 网关(验证凭据,限制请求)。 第二个负责将信息保存在数据库中。我需要 2 个应用程序,因为它们最终将成为 2 个独立的微服务。现在将它们托管在同一个实例上更便宜。
我需要将 POST 请求从第一个应用转发到第二个应用。其中一个字段包含大块 HTML 并且不能在 GET 请求中传递(加上编码问题)。
第一个应用程序从浏览器接收到 AJAX POST 并使用请求模块转发数据。我正在使用本地主机调用其他服务。
router.post('/save', (req, res) => {
let json_obj = JSON.stringify(req.body)
let url = "http://127.0.0.1:3000/save"
request.post({
headers: {'content-type': 'application/x-www-form-urlencoded'},
url: url,
form: json_obj
}, function(error, response, body){
res.send(body)
})
});
第二个应用侦听数据,但 req.body
为空
router.post('/save', (req, res) => {
console.log(req.body)
是否可以在应用之间转发数据?或者我应该有另一种方法吗?
我不得不使用 body-parser 来处理请求的正文。
const bodyParser = require('body-parser')
...
// Configure express to use body-parser as middle-ware.
app.use(bodyParser.urlencoded({limit: '3mb', extended: true }))
app.use(bodyParser.json({limit: '3mb'}))