반응형
다음과 같이 body에 {hello: "world"}라는 값을 서버로 보낸다고 가정해보자.
const handleShare = async () => {
const upload_url = `${API_BASE_URL}/${storagePath}`;
console.log(upload_url);
const response = await fetch(`${API_BASE_URL}/sharedstorage/compress`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ hello: "world" }),
});
setUploadState(UPLOAD_STATE.UPLOAD_ENABLED);
};
하지만 다음과 같이 req.body가 undefined로 온다면 어떻게 해결해야할까?
router.post("/sharedstorage/compress", (req: Request, res: Response) => {
console.log("Compress ! : ", req.body);
res.status(200).json({ message: "Upload successful!" });
});
node (express)에서 다음과 같이 코드를 작성해야 한다.
app.use(express.json());
app.use(express.urlencoded( { extended: true} ));
이때 app.use(router) 전에 두 값을 설정해야한다.
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(router);
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
// body-parser middleware
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(router);
app.post("/sharedstorage/compress", (req, res) => {
console.log("Compress ! : ", req.body);
res.status(200).json({ message: "Upload successful!" });
});
// 나머지 코드...
반응형
'Applied > Node' 카테고리의 다른 글
cheerio와 puppeteer 차이 (0) | 2023.10.20 |
---|---|
[Express] router 모듈 분리 with 리팩토링 (0) | 2023.10.18 |
npm ERR! ERROR: Failed to set up Chromium r117.0.5937! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download. 에러 해결 (0) | 2023.10.17 |