Express를 사용하여 Node.js의 전체 요청 본문에 액세스
Node.js에서 Express를 활용하여 POST 요청을 처리하고 해당 본문에 액세스 도전을 제시할 수 있습니다. 제공된 코드가 전체 요청 본문을 검색하지 못하여 예외가 발생합니다. 이 기사에서는 이 문제에 대한 솔루션을 탐색하고 express.bodyParser()를 사용하지 않고 원시 요청을 얻을 수 있는 가능성을 다룹니다.
Express 미들웨어 사용
Express v4부터 시작합니다. 16부터 내장된 JSON 미들웨어를 구현하여 요청 본문을 JSON으로 효과적으로 구문 분석할 수 있습니다.
app.use(express.json())
이 미들웨어는 자동으로 본문 내용을 req.body 속성을 통해 액세스할 수 있는 JavaScript 객체로 구문 분석합니다. 예:
app.post('/test', (req, res) => { res.json({ requestBody: req.body }) })
미들웨어 없이 원시 요청 처리
미들웨어 없이 원시 요청을 얻으려면 다음과 같은 대체 접근 방식을 사용할 수 있습니다.
request.rawBody 속성 사용:
이 속성은 구문 분석되지 않은 원시 요청 본문에 대한 액세스를 제공합니다. 그러나 bodyParser 미들웨어의 제한 옵션을 예상되는 본문 길이보다 큰 값으로 설정해야 합니다.
사용자 정의 미들웨어 사용:
들어오는 요청을 가로채고 원시 본문을 검색하도록 사용자 정의 미들웨어를 정의할 수 있습니다.
app.use((req, res, next) => { req.rawBody = ''; req.on('data', (chunk) => { req.rawBody += chunk; }); req.on('end', () => { next(); }); });
원시 본문을 수동으로 처리하는 것은 더 복잡하고 다음과 같은 결과를 초래할 수 있다는 점에 유의하는 것이 중요합니다. 성능 오버헤드. 일반적으로 미들웨어 사용은 단순성과 효율성 때문에 권장됩니다.
위 내용은 Express를 사용하여 Node.js에서 전체 요청 본문에 액세스하는 방법: 미들웨어 및 원시 요청 처리 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!