Important:
Требования для выполнения данного руководства:
- Установленный StrongLoop как описано в Установка StrongLoop
- Прохождение Начало работы с LoopBack.
Рекомендации: Прочтите Основные понятия LoopBack.
Удаленная привязка (remote hook ) функция, которая выполняется до и после удаленного метода
Напомним в Расширьте свой API, вы создали удаленный метод—пользовательскую функцию которую вы вызываете посредством REST endpoint. удаленная привязка (remote hook) простая функция, которая запускается на выполнение до и после удаленного метода.
Вы можите определить два вида удаленных привязок (remote hooks):
beforeRemote()
запускается перед удаленным методом.afterRemote()
запускается после удаленного метода.
В обоих случаях вы предоставляете два аргумент строка которая соответствует удаленному методу который вы хотите привязать и функция вызова. Главное в удаленных привязках (remote hooks), является то, что строки могут содержать символы, поэтому это позволяет инициировать любые методы подбора.
Note:
LoopBack также предостовляет модели привязок, функции, которые выполняются до или после определенных событий, таких, как создание, сохранение и обновление данных модели.
Здесь вы собираетесь определить удаленную привязку (remote hook) в review (отзыв) модели, в частности Review.beforeRemote
.
Создайте новый файл, common/models/review.js
, и добавьте следующий код:
common/models/review.js
module.exports = function(Review) {
Review.beforeRemote('create', function(context, user, next) {
var req = context.req;
req.body.date = Date.now();
req.body.publisherId = req.accessToken.userId;
next();
});
};
Эта функция вызывается перед созданием нового экземпляра модели Review (отзыв). В коде:
- Вставляет publisherId используя access token (маркер доступа), прикрепленный к запросу.
- Устанавливает датой экземпляра обзора текущую дату.
REVIEW COMMENT from Rand
I assume you could use a beforeCreate model hook to do the same thing?
It might be instructive to show how this would be accomplished or at least mention it.
Next: Далее выполните следующий раздел Создание клиентского AngularJS .