Loopback Api Explorer创建错误:无效日期

时间:2016-06-03 15:29:18

标签: node.js loopback

我使用环回的API浏览器来创建具有以下参数的模型:

{
  "name": "string",
  "last_name": "string",
  "phone": 0,
  "is_invited": true,
  "realm": "string",
  "username": "string",
  "credentials": {},
  "challenges": {},
  "email": "string",
  "emailVerified": true,
  "status": "string",
  "created": "2016-06-03",
  "lastUpdated": "2016-06-03",
  "id": 0
}

但是,服务器始终返回500无效的日期错误:

{
  "error": {
    "name": "Error",
    "status": 500,
    "message": "Invalid date: Invalid Date",
    "stack": "Error: Invalid date: Invalid Date\n    at DateType }
}

这是我的模型供参考。它继承了Loopback的用户模型。

{
  "name": "ExeboardUser",
  "base": "User",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "name": {
      "type": "string",
      "required": true
    },
    "last_name": {
      "type": "string"
    },
    "phone": {
      "type": "number",
      "required": true
    },
    "is_invited": {
      "type": "boolean",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "boards": {
      "type": "hasMany",
      "model": "Board",
      "foreignKey": "exeboardUserId",
      "through": "ExeboardUserBoard"
    }
  },
  "acls": [
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "logout"
    }
  ],
  "methods": {

  }
}

有人能告诉我日期的问题吗?我认为它是正确格式化的,因为它是资源管理器生成的默认参数。

2 个答案:

答案 0 :(得分:1)

不知道你是否对答案感兴趣,但我最近开始使用环回并得到了与你相同的错误,服务器接受的日期格式就像这样2017-01-06T23:58: 10.000Z

希望它有所帮助。

Ps。:如果模型不需要日期,甚至不发送它,即使是“null”或“”值,它也会抛出500状态错误。

答案 1 :(得分:0)

正确的日期格式为:2017-10-12T10:31:37.925Z

如果您想添加dateCreated和dateUpdate字段,请使用date mixin loopback-ds-timestamp-mixin

使用

安装mixin
  

npm i loopback-ds-timestamp-mixin --save

将mixins属性添加到您的server / model-config.json:

{
"_meta": {
 "sources": [
   "loopback/common/models",
   "loopback/server/models",
   "../common/models",
   "./models"
 ],
 "mixins": [
   "loopback/common/mixins",
   "../node_modules/loopback-ds-timestamp-mixin",
   "../common/mixins"
 ]}
}

在你的模特中:

{
  "name": "ExeboardUser",
  "base": "User",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "mixins": {
      "TimeStamp" : true
  },
  "properties": {
    "name": {
      "type": "string",
      "required": true
    },
    "last_name": {
      "type": "string"
    },
    "phone": {
      "type": "number",
      "required": true
    },
    "is_invited": {
      "type": "boolean",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "boards": {
      "type": "hasMany",
      "model": "Board",
      "foreignKey": "exeboardUserId",
      "through": "ExeboardUserBoard"
    }
  },
  "acls": [
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "logout"
    }
  ],
  "methods": {

  }
}