我正在使用express/objection js和typescript实现一个api。
我从这次回购中获得了很多灵感:https://github.com/HappyZombies/brackette-alpha/tree/master/server/src
正如创建者所做的那样,我想为同一个";部件";(例如:用户(。
我们可以在这里看到,他创建了不同的接口(这里(,并在服务中使用它们作为返回的承诺(这里(——但没有检查他返回的内容是否与他的接口匹配。例如:为了在这里匹配他承诺的接口,他只会选择与他的接口匹配的sql字段
public async findAll(): Promise<IUserMiminimum[]> {
let users;
try {
users = await this.usersModel.query().column('username', 'displayName');
} catch (err) {
this.logger.error(err);
throw err;
}
return users;
}
我的问题是:
- 是否有一种方法可以根据接口描述仅从模型结果中选择您想要的字段
- 否则,有没有办法检查接口是否与模型结果匹配
感谢阅读。
反对castTo((可能有助于
const users= await User.query()
.column('username', 'displayName')
.castTo<IUser[]>();