2016-03-21 2 views
1

Я пытаюсь добавить нестатический удаленный метод к модели. Просто следуйте code здесь. К сожалению, у меня появилось сообщение об ошибке.loopback Добавить ошибку статического удаленного метода

Ниже мой код

User.prototype.lastOrder = function(callback){ 
    console.log('print this instance object: ', this); 
    callback(null) 
}; 

User.remoteMethod('__get__lastOrder', { 
    isStatic: false, 
    accepts: [], 
    description: 'Get the latest order of the user', 
    http: { 
    path: '/lastOrder', 
    verb: 'get' 
} 

И когда я призываю http://localhost:3000/v1/users/1/lastOrder. он дает мне следующую ошибку:

enter image description here

ответ

2

Первый аргумент remoteMethod это имя функции. То, что вы определили, недействительно. Вы должны определить функцию с именем, ну, скажем lastOrder, а затем изменить код следующим образом:

User.prototype.lastOrder = function() { 

} 

User.remoteMethod('lastOrder', { 
    isStatic:false, 
    //more stuff here 
} 
+0

Здравствуйте, я попытался таким образом, все та же ошибка. –

+0

Смотрите мой комментарий ниже. Вы отправили новый ответ. Это то, что сработало для вас? –

2
User.prototype.lastOrder = function(callback){ 
    console.log('print this instance object: ', this); 
    callback(null, "this is a test"); 
    }; 

    User.remoteMethod('lastOrder', { // should be lastOrder not __get__lastOrder 
    isStatic: false, 
    accepts: [], 
    description: 'Get the latest order of the user', 
    http: { 
     path: '/lastOrder', 
     verb: 'get', 
     status: 200 
    }, 
    returns: {root: true, type: 'order'} 
    }); 
+0

Вы говорите, что это сработало для вас? –

+0

@ RaymondCamden. Да. Это статический метод, поэтому он должен быть 'User.prototype.lastOrder'. Я думал, что вы сделали опечатку, поэтому я публикую правильный ответ, просто хочу избежать обмана других. В любом случае, я приму свой ответ, но я исправлю ваш ответ. –

+0

Спасибо за разъяснение. Я мог бы поклясться, что упомянутые документы используют Model.NAME для всех случаев, даже нестатических, но имеет смысл, что это будет под прототипом. –