Node.js 및 Express POST 작업에서 본문 액세스 요청
Node.js 및 Express로 작업할 때 POST에서 요청 본문에 액세스 작업은 사용자 입력을 처리하는 데 중요할 수 있습니다. 다음은 문제를 해결하고 대체 접근 방식을 탐색하기 위한 포괄적인 가이드입니다.
본문 구문 분석을 위한 미들웨어
4.16 이전의 Express 버전에서는 요청 본문을 구문 분석하기 위해 body-parser와 같은 미들웨어가 필요했습니다. 그러나 제공된 답변에 따르면 4.16부터 Express 버전에는 외부 모듈이 필요 없는 내장 JSON 미들웨어가 포함되어 있습니다. app.use(express.json())을 사용하면 JSON 형식의 요청 본문을 구문 분석할 수 있습니다. 이 미들웨어는 자동으로 본문을 구문 분석하고 구문 분석된 객체를 req.body에 저장합니다.
사용자 정의 원시 요청 본문 액세스
미들웨어를 사용하면 req.rawBody를 선택할 수 있습니다. 그러나 이 방법은 애플리케이션/옥텟 스트림과 같이 지원되는 콘텐츠 유형이 있는 요청에만 사용할 수 있습니다. 원시 요청 본문에 직접 액세스하면 잠재적인 보안 위험이 노출될 수 있으므로 주의해서 수행해야 한다는 점에 유의하는 것이 중요합니다.
일반적인 문제 해결
Node.js 문제 해결 전체 요청 본문을 응답에 쓰려고 할 때 예외를 발생시키는 경우 요청 본문에 문자열이 아닌 문자가 포함될 수 있다는 점을 이해하는 것이 중요합니다. 따라서 이 오류를 방지하려면 응답에 쓰기 전에 toString() 또는 toBuffer()와 같은 메서드를 사용하여 본문 내용을 문자열 또는 버퍼로 변환해야 합니다.
예
내장된 JSON 미들웨어와 req.body를 사용하여 구문 분석된 JSON 객체로 요청 본문에 액세스하는 방법을 설명하기 위해 다음은 샘플 Express 애플리케이션입니다.
const express = require('express');
const app = express();
app.use(express.json());
app.post('/test', (req, res) => {
console.log(req.body); // This will contain the parsed JSON object
res.json({requestBody: req.body}); // Response as JSON
});
app.listen(3000);
이러한 지침을 따르고 Node.js 및 Express의 요청 본문 처리 기본 사항을 이해함으로써 개발자는 사용자 입력을 효과적으로 관리하고 강력한 POST 작업 기능을 만들 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3