2017-09-02 3 views
0

Ich bin nur über Loopback von StrongLoop lernen, um eine einfache API zu erstellen.Loopback Post API-Fehler

Ich habe einige Probleme, um die API zu arbeiten.

Hier ist meine config:

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

module.exports = function(Account) { 

}; 

Das ist mein 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": {} 
} 

Das folgende Modell haben erfolgreich migriert worden, ich bin mit postgresql für meine db.

Das Problem ist, wenn Loopback die CRUD-Standard-API erstellen, scheint die POST-API nicht zu funktionieren, wenn ich die POST-Methode versuche. unter meinem JSON-String ist, wenn ich versuche, auf API-Explorer zu setzen:

{ 
    "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" 
    } 

Aber es einen Fehler aus, hier ist der Antworttext:

{ 
    "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)" 
    } 
} 

Für die Notiz, wenn ich versuche, von der pgadmin einfügen in Tabelle mit SQL-Abfrage funktioniert es. Etwas wie "INSERT INTO Account VALUES (bla bla bla)". Ich weiß das vielleicht nur ein häufiger Fehler, bitte helfen Sie mir. Entschuldige mein schlechtes Englisch.

Antwort

0

Nun Fall geschlossen, es scheint, dass ich vermisse meine Modelldefinition für Primärschlüssel, was für eine Schande .. Danke Jungs.