我们正在使用Strongloop的Loopback框架公开一些REST。我们有不同的回环模型对应于不同的REST实体。在回环模型A中,我们在API响应中返回一个数组。在另一个环回模型,模型B中,我们使用由SortedSet收集公开的CollectionsJS,如下所示:
var SortedSet = require('collections/sorted-set'); //Start of the file
...
...
//create the SortedSet instance and push values.现在,如果没有这种要求,模型A的API将正确返回数组。在模型B中添加此要求之后,模型A的API返回一个对象而不是数组(键是数组索引,值是数组值)。模型A代码仍未被触及。
因此,我的猜测是,存在某种冲突,其中回收站和/或NodeJS使用在CollectionsJS中也使用/操作的类型。但是我如何调试这个问题呢?
发布于 2016-04-02 18:24:51
找到了!CollectionsJS "shims“某些额外的方法到阵列原型上,其中之一是"toObject”。在响应生成过程中,回送对所有模型属性调用.toObject方法。模型属性之一是数组,这意味着它也被调用了.toObject。现在,如果我不“需要”集合模块,数组原型就不会被注入toObject方法,所以通常的数组表示是由Loopback使用的。
https://stackoverflow.com/questions/36362709
复制相似问题