【问题标题】:Loopback Post API error环回发布 API 错误
【发布时间】:2017-09-02 15:14:23
【问题描述】:

我只是从 StrongLoop 学习 Loopback 来创建一个简单的 API。

我在使 API 工作时遇到了一些麻烦。

这是我的配置:

model.js
--------
'use strict';

module.exports = function(Account) {

};

这是我的model.json:

{
  "name": "Account",
  "base": "PersistedModel",
  "idInjection": false,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "id": {
      "type": "string",
      "required": true,
      "defaultFn": "uuidv4",
      "postgresql": {
        "columnName": "id",
        "dataType": "uuid"
      }
    },
    "code": {
      "type": "string",
      "required": true,
      "postgresql": {
        "columnName": "code",
        "dataType": "character varying",
        "dataLength": "50"
      }
    },
    "name": {
      "type": "string",
      "required": true,
      "postgresql": {
        "columnName": "name",
        "dataType": "text"
      }
    },
    "type": {
      "type": "string",
      "required": true,
      "postgresql": {
        "columnName": "type",
        "dataType": "character varying",
        "dataLength": "50"
      }
    },
    "isActive": {
      "type": "boolean",
      "required": true,
      "default": true
    },
    "isDelete": {
      "type": "boolean",
      "required": true,
      "default": false
    },
    "createdBy": {
      "type": "string",
      "required": true,
      "defaultFn": "uuidv4",
      "postgresql": {
        "columnName": "createdBy",
        "dataType": "uuid"
      }
    },
    "updatedBy": {
      "type": "string",
      "required": true,
      "defaultFn": "uuidv4",
      "postgresql": {
        "columnName": "updatedBy",
        "dataType": "uuid"
      }
    },
    "createdAt": {
      "type": "date",
      "required": true,
      "defaultFn": "now"
    },
    "updatedAt": {
      "type": "date",
      "required": true,
      "defaultFn": "now"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

以下模型已成功迁移,我正在为我的数据库使用 postgresql。

问题是当 Loopback 创建 CRUD 标准 API 时,当我尝试 POST 方法时,POST API 似乎不起作用。下面是我尝试使用 API Explorer 时的 json 字符串:

{
    "id": "123e4567-e89b-12d3-a456-426655440000",
    "code": "1000",
    "name": "Cash and Bank",
    "type": "Assets",
    "isActive": true,
    "isDelete": false,
    "createdBy": "123e4567-e89b-12d3-a456-426655440000",
    "updatedBy": "123e4567-e89b-12d3-a456-426655440000",
    "createdAt": "2017-09-01T17:00:00.000Z",
    "updatedAt": "2017-09-01T17:00:00.000Z"
  }

但它抛出一个错误,这是响应正文:

{
  "error": {
    "statusCode": 500,
    "name": "error",
    "message": "syntax error at end of input",
    "length": 92,
    "severity": "ERROR",
    "code": "42601",
    "position": "230",
    "file": "scan.l",
    "line": "1078",
    "routine": "scanner_yyerror",
    "stack": "error: syntax error at end of input\n    at Connection.parseE (/media/andylpjr/EA7C669F7C6665F3/Project/kpost/kpost-api/node_modules/pg/lib/connection.js:567:11)\n    at Connection.parseMessage (/media/andylpjr/EA7C669F7C6665F3/Project/kpost/kpost-api/node_modules/pg/lib/connection.js:391:17)\n    at Socket.<anonymous> (/media/andylpjr/EA7C669F7C6665F3/Project/kpost/kpost-api/node_modules/pg/lib/connection.js:129:22)\n    at emitOne (events.js:96:13)\n    at Socket.emit (events.js:191:7)\n    at readableAddChunk (_stream_readable.js:178:18)\n    at Socket.Readable.push (_stream_readable.js:136:10)\n    at TCP.onread (net.js:561:20)"
  }
}

对于我尝试使用 SQL 查询从 pgadmin 插入到表时的注释,它可以工作。诸如“插入帐户值(bla bla bla)”之类的东西。我知道这可能只是一个常见的错误,请帮助。抱歉英语不好。

【问题讨论】:

    标签: json node.js postgresql loopbackjs loopback


    【解决方案1】:

    案例结束了,看来我缺少主键的模型定义,真可惜。谢谢大家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      相关资源
      最近更新 更多