Я пишу конечную точку, которая возвращает все данные из базы данных, если запрос не предоставлен, но возвращает только данные, которые удовлетворяют условию запроса, если запрос предоставлен
try {
const { origin, destination } = req.query;
switch (req.query) {
case { origin }: {
const data = await Trips.tripModel().select('*', `WHERE origin='${origin}'`);
if (!data[0]) return nullResponse(res, 'No trips available from here');
return successResponse(res, 200, data);
}
case { destination }: {
const data = await Trips.tripModel().select('*', `WHERE destination='${destination}'`);
if (!data[0]) return nullResponse(res, 'No trips available to this destination');
return successResponse(res, 200, data);
}
default: {
const data = await Trips.tripModel().select('*');
if (!data[0]) return nullResponse(res, 'No trips available');
return successResponse(res, 200, data);
}
}
}
Если запрос предоставляется почтальону, т. Е. /api/trips?origin=london
, он должен возвращать только те данные, которые удовлетворяют условию origin = london
, но вместо этого он возвращает все данные, которые являются условием по умолчанию.