`var express = require("express");
var app = express();
var bodyparser = require("body-parser");
const { response, request } = require("express");
const { text } = require("body-parser");
app.use(bodyparser.json());
app.use(bodyparser.urlencoded({ extended: false }));
var goods = [
{
"id": "1f",
"name": "Ritik"
},
{
"id": "2f",
"name": "Sharma"
}
];
app.get("/ing", function (request, response) {
response.send(goods);
});
app.post("/ing", function (request, response) {
var ing = request.body;
if (!ing || ing.text === "") {
response.status(500).send({ error: "Number missing" })
}
else {
goods.push(ing);
response.status(200).send(goods);
}
});
app.put('/ing/:idx', function (request, response) {
var new1 = request.body.text;
if (!new1 || new1 === "") {
response.status(500).send({ error: "number missing" })
}
else {
var objectFound = false;
for (var x = 0; x < goods.length; x++) {
var ing = goods[x];
if (ing.id === request.params.idx) {
goods[x].text = new1;
objectFound = true;
break;
}
}
if (!objectFound) {
response.status(500).send({ error:"Ing not found"});
}
response.send(goods);
}
});
app.listen(3000, function () {
console.log("Server is running");
})
Я учился делать запрос api put n, следуя руководству .. Код помог в получении ответов в запросе get n post .. Но если поместить id в качестве параметра в url: .... / 2f Я получаю сообщение об ошибке: «номер отсутствует».
Кто-нибудь может сказать мне, почему я не получаю изменение данных с помощью запроса на размещение?
Какова фактическая проблема - это код где-то неправильно в секции Put?