我正在开发 Node API。
我有像 GET/messages
这将返回所有消息。我想在此端点上进行分页,例如
GET /messages?filter=my_filter_string&limit=10&offset=10
过滤语句是这样的
{fieldName1}={fieldValue1}&...{fieldNameN}>{fieldValueN}.
Operations can be =, > or <. < and > operations are only for number, integers and dates
我使用 sequelize 作为 ORM,使用 postgresql 作为数据库。 我的问题是如何解析 my_filter_statement 并将其转换为用于 sequelize 的搜索条件对象。 另外,如果我像这样调用 API
GET /messages?filter="id=10&contentlength>20"&limit=10&offset=10
它不工作
最佳答案
你能不能有,例如:
GET /messages?greater=1&less=5&limit=10&offset=10
然后在 Node 中:
var url = require('url');
var url_parts = url.parse(request.url, true);
var query = url_parts.query;
并将查询参数(例如大于/小于(可以缩写为“gt”和“lt”))与您在语句中需要的符号相匹配?
关于javascript - Express + node.js API 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26339559/