多个 get API in MEAN.IO (Express, Angular)

Multiple get API in MEAN.IO (Express, Angular)

在传统的 REST API 中,我们应该这样定义 API:

我应该如何定义另一个 'get one' 端点以通过 id 以外的任何其他字段查询数据?例如:

我明白了:

SyntaxError: Invalid regular expression: /^?title=whatever\/?$/: Nothing to repeat
    at RegExp (native)

ID 应该是唯一标识符。给定一个 ID,您最多应该 return 一个资源。这就是为什么像 GET /api/things/:id 这样的 URI 有意义。

对于可能唯一也可能不唯一的其他属性,您可以有多个结果,因此使用 GET /api/things 端点并传递查询参数:/api/things?title=mytitle.

app.get('/api/things', function (req, res) {
    console.log(req.query.title); //mytitle
    ThingModel.find({
       title: req.query.title    
    }, function (err, things) {
         res.send(things);
    });
});