Прежде всего, вы должны использовать put
вместо post
, если вы хотите выполнить запрос PUT
.
this.http.put(...)
Затем на стороне сервера вы можете использовать body-parser
чтобы проанализировать данные запроса и использовать их на промежуточном программном обеспечении
const bodyParser = require('body-parser');
/* ... */
app.use(bodyParser.json()); // If you're sending a JSON payload
app.use(bodyParser.urlencoded({ extended: true })); // application/x-www-form-urlencoded
app.use(bodyParser.text()); // You're sending text/plain
/* ... */
app.put("/",function(request, response){
console.log(request.body); // Data is inside body
response.send("Put request received successfully");
});
Вам необходимо отправить: Content-Type: application/json
для bodyParser.json()
для работы, без него ваша полезная нагрузка JSON не будет проанализирована, или application/x-www-form-urlencoded
для bodyParser.urlencoded()
Объект bodyParser предоставляет различные фабрики для создания промежуточного программного обеспечения.Все промежуточные программы будут заполнять свойство req.body анализируемым телом, когда заголовок запроса Content-Type соответствует параметру типа, или пустым объектом ({}), если не было тела для анализа, Content-Type не был найден, илипроизошла ошибка.
В вашем конкретном случае вы отправляете Content-Type: text/plain
, поэтому просто используйте:
app.use(bodyParser.text());