我正在尝试使用POST
将数据从一个休息服务发送到另一个休息服务。
first.js
const express = require("express");
const http = require("http");
var router = express.Router();
var options = {
host: "localhost",
port: "3000",
path: "/second",
method: "POST",
body: JSON.stringify({ foo: "foo" })
};
router.get("/", function(req, res, next) {
http.request(options);
});
module.exports = router;
second.js
var express = require("express");
var router = express.Router();
router.post("/", function(req, res, next) {
console.log(req.body);
res.send("Hello");
});
module.exports = router;
返回空对象{}。有谁知道如何将JSON正文从一个服务发送到另一个服务。
app.js
app.use("/first", first);
app.use("/second", second);
答案 0 :(得分:1)
您的问题可能不是发送请求正文,但正在阅读。
为了处理正文,您需要使用中间件。通常,您会使用bodyParser.json
(Docs,请查看底部示例)
// In second.js, in addition to your other stuff
import bodyParser from 'body-parser';
app.use(bodyParser.json());
这将允许它解析JSON。
另一步是发送方(first.js
)。您需要添加标题Content-Type: application/json
。
这两件事情将允许second.js
正确阅读正文并使其可用。