В этом разделе вы добавите пользовательский remote method в свое API.
Если вы придерживались всех шагов в этой документации то сразу переходите к [Добавление удаленного метода (#Добавление-удаленного-метода–remote-method-)
Если вы пропустили предыдущие шаги. То вам нужно сначала выполнить следующие пункты…
Загрузить приложение ( в состоянии требующемся для выполнения данного руководства) с GitHub и проинсталлировать:
$ git clone https://github.com/strongloop/loopback-getting-started.git
$ cd loopback-getting-started
$ git checkout step2
$ npm install
Добавление удаленного метода (remote method)
Выполните следующие действия:
-
Откройте каталог приложения
/common/models
. Вы увидите что там лежитcoffee-shop.js
файл. LoopBack генератор модели (slc loopback:model
) всегда создает два файла в/common/models
для каждой модели: JSON файл с именем вида<_model-name_>.json
с описанием свойств модели и JavaScript файл вида<_model-name_>.js
где вы можите расширить и переопределить поведение модели. -
Откройте
coffee-shop.js
в вашем любимом редакторе. По умолчанию он содержит пустую функцию:module.exports = function(CoffeeShop) { };
-
Добавьте следующий код в эту функцию для расширения поведения модели с удаленным методом (remote method), как в данном примере:
module.exports = function(CoffeeShop) {
CoffeeShop.status = function(cb) {
var currentDate = new Date();
var currentHour = currentDate.getHours();
var OPEN_HOUR = 6;
var CLOSE_HOUR = 20;
console.log('Current hour is ' + currentHour);
var response;
if (currentHour >= OPEN_HOUR && currentHour < CLOSE_HOUR) {
response = 'We are open for business.';
} else {
response = 'Sorry, we are closed. Open daily from 6am to 8pm.';
}
cb(null, response);
};
CoffeeShop.remoteMethod(
'status',
{
http: {path: '/status', verb: 'get'},
returns: {arg: 'status', type: 'string'}
}
);
};
```
Тут приведен просто удаленный метод "status" который не принимает никаких аргументов, и сверяет время и возвращает в JSON сообщение, которое говорит "Open for business" или "Sorry we are closed" в зависимости от текущего времени.
Конечно, на практике вы можете сделать гораздо более интересные и сложные вещи используя удаленные методы (remote method), таких как манипуляции c введенными данными, перед сохранением их в базу данных. Вы можите изменить путь где вы вызываете удаленный метод (remote method), и определять сложные аргументы и возвращаемые значения. См. [Удаленные методы (remote methods)](Remote-methods_5310632.html) для получения более подробной информации.
4. Сохраните файл.
## Попробуйте удаленный метод (remote method)
1. Вернитесь в корневой каталог приложения и запустить его:
```$ slc run```
2. Перейдите по адресу [http://localhost:3000/explorer](http://localhost:3000/explorer) для просмотра API Explorer. Затем кликнете на CoffeeShops и вы увидите новый REST endpoint, `GET/CoffeeShop/status` который вызывает удаленный метод (remote method).
3. Кликните **Try it Out!**
Вы увидите результат вызова удаленного метода (remote method) :
{
"status": "Open for business." } ```
Вот как легко обавлть удаленные методы с LoopBack!
Для получения более подробной информации, см. Удаленные методы.
Next: В Добавление статической страницы, вы добавите Express промежуточное ПО для обслуживания статиеского контента такого, ак HTML/CSS, картинки, и JavaScript.</div>