我正在通过构建REST API来学习和使用Node和Express。我没有任何数据库来存储数据,我做了所有内存。如何在REST API中使用nodejs和express实现搜索和过滤
比方说,我有用户的数组:
var users = [{"id": "1", "firstName": "John", "lastName": "Doe"}];
,并定义了getAllUser功能:
exports.getAllUser = function(page, items) {
page = (page < 1 ? 1 : page) || 1;
items = (items < 1 ? 5 : items) || 5;
var indexStart, indexEnd;
indexStart = (page - 1) * items;
indexEnd = indexStart + items;
return users.slice(indexStart, indexEnd);
};
和定义的路由:
router.get('/users', function(req, res, next) {
var page = req.query.page;
items = req.query.items;
page = page !== 'undefined' ? parseInt(page, 10) : undefined;
items = items !== 'undefined' ? parseInt(items, 10) : undefined;
res.status(200).json({ users: users.search(page, items) });
});
所有这一切工作正常,我已经能够用邮差测试它,并且我的数据正在返回。
我的问题是,如何实现搜索和过滤?
据我了解,搜索参数会在网址作为参数传递,例如:
http://localhost:8080/api/users/firstName=john&age=30
我将如何提取与节点的参数,并且是有使用特定的lib或最佳实践跟随?
同样的问题进行过滤,或过滤相同的东西比搜索?
如何在路由中指定参数? – user269867 2017-07-19 18:46:03