В этом разделе вы добавите пользовательский 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>