我试图在续集中设置一些控制器. 我希望能够有不同类型的查询,例如:
api/hotels
api/hotels/id
api/hotels?featured=true
api/hotels?featured=true&limit=SOMEVALUE
api/hotels?featured=true&limit=SOMEVALUE&somethingsomething
我已经设法让Feature和Limit都工作了,然而,如果我没有Limit,其余的都不能正常工作,因为Limit将在我的后端服务器中设置为0:/
可以将各种查询设置为可选吗? 我可能会补充说,这是我第一次运行Sequelize和Creating Backend.
我的控制器如下所示:
export const getHotels = async (req, res, next) => {
try {
const { min, max, limit, ...others } = req.query;
const parsedLimit = limit ? Number(limit) : null;
const hotels = await Hotel.findAll({
where: {
...others,
// cheapestPrice: { $gt: min | 1, $lt: max | 100000 },
},
limit: Number(parsedLimit),
[Op.or]: {},
});
res.status(200).json(hotels);
} catch (err) {
next(err);
}
};
我要补充的是,最小值和最大值应该用在cheapestPrice中,作为对API的另一个查询.
提前谢谢你