【发布时间】:2018-11-12 05:03:31
【问题描述】:
我目前正在构建一个 rest API,当我发出 /GET 请求时,我得到了一个意外的输出。
当我向 API 发出 get 请求时,它会返回
{
data: {
[{myExpectedObjects},{myExpectedObjects}]
}
}
但是,我希望我的 get 请求只返回对象数组。下面是我用来完成其余调用的代码
创建控制器
const create = (req, res) => {
let dataModel = generateModel(genericDataFromReq);
dataModel = new dataModel({
genericData,
specificData,
});
dataModel.save().then((data) => {
res.status(201).send(data);
}, (e) => {
res.status(500).send(e);
});
}
};
获取所有控制器
const list = (req, res) => {
const dataModel = generateModel(dataToGet);
dataModel.find().then((data) => {
if (data.length === 0) {
res.status(404).send('failed');
} else {
res.status(200).send({ data });
}
}, (e) => {
res.status(500).send(e);
});
};
生成数据模型
function generateModel(dbCollectionName) {
try {
return generateDataModel(dbCollectionName);
} catch (e) {
return mongoosee.model(`${dbCollectionName}`);
}
}
我知道代码有点不合常规,但我设置了一个通用的 rest API 来接收不同类型的请求,我发现这个解决方案是最好的方法。
关于为什么我的获取所有请求在我的对象数组之前添加“数据”部分的任何想法(这是我真正感兴趣的)?
【问题讨论】: