【发布时间】:2016-01-04 02:47:00
【问题描述】:
好吧,我对所有这些 TS 都很陌生,并试图让这个简单的 API 正常工作,我为我的数据类型定义了一些接口,然后在客户端和 API 本身之间共享。
但是当我尝试使用 bookshelf.js 将用户存储在 DB 中时,我碰壁了,因为我在 @987654322 中将用户-项目关系定义为 IProject 的数组@。
我正在尝试存储的user.d.ts:
interface IUser {
login: string
pass: string
name: string
isAdmin: boolean
projects?: IProject[]
}
而我在服务器中这样做的方式是发送一个空数组,期望 TS + bookshelf 来解决问题:
export function post(req, res){
if (req.session.user && req.session.user.isAdmin) {
let user: IUser = {
login: req.body.login,
pass: bcrypt.hashSync(req.body.pass),
name: req.body.name,
isAdmin: req.body.isAdmin,
projects: []
}
createUser(user).then(status => res.sendStatus(status), status => res.sendStatus(status))
createUser() 的本质是:
User.forge(u).save().then(() => resolve(201), () => reject(500))
关于为什么我在 POST 时获得 500 的任何想法?
【问题讨论】: