提问者:小点点

如何在Javascript中使用Express显示来自restful API的单个值


在这里我想要得到的价格“ID”,我通过URL。

const express = require("express");
const app = express();
app.use(express.json());

let cars = [{
  id: 1,
  name: "cultus",
  price: 15000,
  color: "gray",
},
{
 id: 2,
 name: "corolla",
 price: 50000,
 color: "golden",
},
{
 id: 3,
 name: "mercedes",
 price: 100000,
 color: "black",
}
];

 app.get("/", function (req, res) {
 res.send("Hello World");
});

 app.get("/api/cars", function (req, res) {
 res.send(cars);
})

app.get("/api/cars/:id", (req, res) => {
let car = cars.find(c => c.id=== parseInt(req.params.id));

if (!car) return res.status(400).send("Product not found");
return res.send(car);
})

app.listen(3000);

我想要的是,如果我在URL中传递“id=1”,那么应该只显示该记录的价格。 以及如何显示所有价格大于通过URL传递的价格的汽车。


共1个答案

匿名用户

您只能使用以下方式传递价格

app.get("/api/cars/:id", (req, res) => {
let car = cars.find(c => c.id=== parseInt(req.params.id));
    
if (!car) return res.status(400).send("Product not found");
// only send price
return res.send({price: car.price});
})