Node.js 및 Express POST 작업에서 본문 액세스 요청
Node.js 및 Express로 작업할 때 POST에서 요청 본문에 액세스 작업은 사용자 입력을 처리하는 데 중요할 수 있습니다. 다음은 문제를 해결하고 대체 접근 방식을 탐색하기 위한 포괄적인 가이드입니다.
본문 구문 분석을 위한 미들웨어
요청 본문을 구문 분석하려면 body-parser와 같은 4.16 이전의 Express 버전에 필요한 미들웨어가 필요합니다. 그러나 제공된 답변에 따르면 4.16부터 Express 버전에는 외부 모듈이 필요 없는 내장 JSON 미들웨어가 포함되어 있습니다. app.use(express.json())를 사용하면 JSON 형식의 요청 본문을 구문 분석할 수 있습니다. 이 미들웨어는 자동으로 본문을 구문 분석하고 구문 분석된 개체를 req.body에 저장합니다.
사용자 정의된 원시 요청 본문 액세스
미들웨어를 사용하면 req.rawBody를 선택할 수 있습니다. 그러나 이 방법은 지원되는 콘텐츠 유형(예: 애플리케이션/옥텟 스트림)이 있는 요청에만 사용할 수 있습니다. 원시 요청 본문에 직접 액세스하면 잠재적인 보안 위험이 노출될 수 있으므로 주의해서 수행해야 한다는 점에 유의하는 것이 중요합니다.
일반적인 문제 해결
Node.js 문제 해결 전체 요청 본문을 응답에 쓰려고 할 때 예외를 발생시키는 경우 요청 본문에 문자열이 아닌 문자가 포함될 수 있다는 점을 이해하는 것이 중요합니다. 따라서 이 오류를 방지하려면 응답에 쓰기 전에 toString() 또는 toBuffer()와 같은 메서드를 사용하여 본문 내용을 문자열이나 버퍼로 변환해야 합니다.
예
내장된 JSON 미들웨어와 req.body를 사용하여 구문 분석된 JSON 개체로 요청 본문에 액세스하는 방법을 설명하기 위해 샘플 Express 애플리케이션이 있습니다.
<code class="javascript">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);</code>
이러한 지침을 따르고 이해함으로써 Node.js 및 Express의 요청 본문 처리 기본 사항을 통해 개발자는 사용자 입력을 효과적으로 관리하고 강력한 POST 작업 기능을 만들 수 있습니다.
위 내용은 Node.js 및 Express POST 작업에서 요청 본문 액세스를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!