Loopback:我们如何修改内置模型函数的 return 数据
Loopback: How can we modify the return data of a built in model function
我创建了一个名为 member 的模型,继承自内置模型 User,
但是我怎样才能改变登录的格式return。即,
目前无效登录 returning like
{
"error": {
"statusCode": 401,
"name": "Error",
"message": "login failed",
"code": "LOGIN_FAILED",
"stack": "Error: login failed\n ..."
}
}
我想改成这样,
{
"code": 401,
"name": "Error",
"message": "login failed",
"code": "LOGIN_FAILED",
"stack": "Error: login failed\n ..."
}
另外,成功案例也是如此,
即当前return是
{
"id": "P1jAavmCRbiYB1gYaE2snj3I6BayIYOCJ7HsTLeF1bezlEGVAUzjwdxKB5QFH9Vu",
"ttl": 1209600,
"created": "2017-02-02T13:19:05.709Z",
"userId": "5885b186db6df92d3ada7777"
}
我想改成这样,
{
"code": 200,
"name": "Success",
"token": "P1jAavmCRbiYB1gYaE2snj3I6BayIYOCJ7HsTLeF1bezlEGVAUzjwdxKB5QFH9Vu",
"ttl": 1209600,
"created": "2017-02-02T13:19:05.709Z",
"userID": "5885b186db6df92d3ada7777"
}
可不可以?
您需要从中间件中删除 strong-error-handler
并添加您的自定义错误处理程序,例如 this
在 config.json
中你需要做:
...
"remoting" {
...
"handleErrors": false
...
}
...
同时在 root/sever 文件夹中创建 config.local.js
并在下面添加:
'use strict';
var errorConverter = require('./middlewares/error-converter');
module.exports = {
remoting: {
errorHandler: {
handler: errorConverter()
}
}
};
error-converter.js
在 middleare 文件夹(或任何其他地方)是自定义错误 hadling middleare
我创建了一个名为 member 的模型,继承自内置模型 User, 但是我怎样才能改变登录的格式return。即,
目前无效登录 returning like
{
"error": {
"statusCode": 401,
"name": "Error",
"message": "login failed",
"code": "LOGIN_FAILED",
"stack": "Error: login failed\n ..."
}
}
我想改成这样,
{
"code": 401,
"name": "Error",
"message": "login failed",
"code": "LOGIN_FAILED",
"stack": "Error: login failed\n ..."
}
另外,成功案例也是如此,
即当前return是
{
"id": "P1jAavmCRbiYB1gYaE2snj3I6BayIYOCJ7HsTLeF1bezlEGVAUzjwdxKB5QFH9Vu",
"ttl": 1209600,
"created": "2017-02-02T13:19:05.709Z",
"userId": "5885b186db6df92d3ada7777"
}
我想改成这样,
{
"code": 200,
"name": "Success",
"token": "P1jAavmCRbiYB1gYaE2snj3I6BayIYOCJ7HsTLeF1bezlEGVAUzjwdxKB5QFH9Vu",
"ttl": 1209600,
"created": "2017-02-02T13:19:05.709Z",
"userID": "5885b186db6df92d3ada7777"
}
可不可以?
您需要从中间件中删除 strong-error-handler
并添加您的自定义错误处理程序,例如 this
在 config.json
中你需要做:
...
"remoting" {
...
"handleErrors": false
...
}
...
同时在 root/sever 文件夹中创建 config.local.js
并在下面添加:
'use strict';
var errorConverter = require('./middlewares/error-converter');
module.exports = {
remoting: {
errorHandler: {
handler: errorConverter()
}
}
};
error-converter.js
在 middleare 文件夹(或任何其他地方)是自定义错误 hadling middleare