반응형
참고
Body Parser를 이용해서 데이터를 받아보자.
npm install body-parser
./routes/axios_post_test.js를 아래와 같이 만들자.
body parser를 쓰더라도 query를 사용할 수 있다.
const express = require("express");
const router = express.Router();
const bodyParser = require("body-parser");
router.use(bodyParser.json({ limit: 100000000 })); // 100MB
router.post("/", (req, res) => {
let name = req.query.name;
let data = req.body.data;
console.log(name);
console.log(data);
res.json({ result: true });
});
module.exports = router;
express server 코드는 다음과 같다. (axios_post_test를 라우터로 추가)
const express = require("express");
const app = express();
const cors = require("cors");
app.use(cors());
const axios_post_test = require("./routes/axios_post_test");
app.use("/axios_post_test", axios_post_test);
app.listen(3002, () => {
console.log("Node.js Server is running on port 3002...");
});
테스트
리액트와 같은 프론트엔드에서 아래 함수를 실행해 보자.
import axios from "axios";
const test = async () => {
let longData = "longlongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdatalonglongdata"
const response = await axios.post(
"http://192.168.55.120:3002/axios_post_test?name=test",
{ data: longData },
{
header: { "content-type": "application/json" },
}
);
console.log(response);
};
참고로 name=test와 같이 query string을 추가하였다.
http://192.168.55.120:3002/axios_post_test?name=test
리액트에서 test 메서드를 실행하면 Node에서 정상적으로 데이터를 전송받는 것을 알 수 있다.
반응형
댓글