Раньше нам приходилось использовать bodyParser, но теперь вы можете использовать вместо bodyParser
Пример анализатора тела
npm install --save body-parser
var bodyParser = require('body-parser')
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
app.use(express.json()); // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies
app.post('/measurement', function(req, res) {
var timestamp = req.body.timestamp; // Post body value, ex. measurement
var temperature = req.body.temperature;
});
Теперь нам не нужно использовать bodyParser, мы могли бы сделать следующее, что эквивалентно
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
Вот пример для некоторой базовой логики if после запроса post
const express = require('express');
const app = express();
var bodyParser = require('body-parser')
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
app.post(`/mesurement`, (req, res) => {
var temperature = req.body.temperature;
let timestamp = req.body.timestamp;
let dewPoint = req.body.dewpoint;
let precipitation = req.body.precipitation;
if (temperature && timestamp && dewPoint && precipitation !== undefined) {
temperature = parseFloat(temperature);
dewPoint = parseFloat(dewPoint);
precipitation = parseFloat(precipitation);
if (Number.isInteger(temperature)
&& Number.isInteger(dewPoint)
&& Number.isInteger(precipitation)) {
console.log("We recieved, ", temperature, dewPoint, precipitation)
res.status(201)
}
}
});
app.listen(3000);
Проверьте конечные точки вашего сообщения с помощью https://www.getpostman.com