1
我想写一个JSON API。JSON API设计 - 快递
我的问题是,有时我想查询一个ID,有时为一个字符串。
一个办法是增加一个查询字符串,例如:
example.com/user/RandomName
example.com/user/1234556778898?id=true
,并用它喜欢:
api.get('user/:input', function(req, res) {
if(req.query.id) {
User.find({ '_id': req.params.input }, cb);
} else {
User.find({ 'name': req.params.input }, cb);
}
};
但这似乎是不好的做法对我来说,因为它导致了一堆的条件表达式。 有没有更优雅的方式?
REST对端点设计没有任何说明。其余部分+1,这是现货。 –
我在实现中看到的唯一问题是任何来自外部的人都能够查询数据库并获得内部结构的洞察。这是一个潜在的安全问题。 – Stefan
您是否在显示信息的响应中将用户对象返回给客户端?如果是的话,任何人都可以使用URL中的字段来查询数据库并不重要,因为无论如何他们都能够看到用户结构。此外,您可以在后端进行一些检查,以便现在允许在必要时查询某些字段。 – Mike