Утилиты для веб-сервиса (rest)

Утилиты веб-сервиса предназначены для реализации обработки различных видов запросов к серверу.

Cервис подключается к приложению в deploy.json в объекте modules.rest.globals.di, например так:

{
  "modules": {
    "rest": {
      "globals": {
        "di": {
          "acceptor": {
            "module": "modules/rest/lib/impl/acceptor",
            "options": {
              "dataRepo": "ion://dataRepo",
              "metaRepo": "ion://metaRepo"
...

В этом случае подключается сервис acceptor, он станет доступен для запросов по url https://dnt.iondv.com/rest/acceptor.

Функциональное описание взаимодействия с запросами должно содержаться в скрипте modules/rest/lib/impl/acceptor.js.

В поле options могут быть указаны любые переменные и их значения, которые станут доступны в скрипте через поля объекта, передаваемого как аргумент основной функции модуля.

Скрипт составляется в формате модуля, например так:

const Service = require('modules/rest/lib/interfaces/Service');

/** Simple app service - REST module
 * @param {{dataRepo: DataRepository, metaRepo: MetaRepository}} options
 * @constructor
 */
function EchoRest(options) {
  this._route = function(router) {
    this.addHandler(router, '/', 'POST', (req) => {
      return Promise.resolve({
        echo: 'peekaboo'
      });
    });
    this.addHandler(router, '/', 'GET', (req) => {
      return Promise.resolve({
        echo: 'peekaboo'
      });
    });
  };
}
EchoRest.prototype = new Service();
module.exports = EchoRest;

Подробное описание принципов создания сервиса можно найти в https://github.com/iondv/rest/blob/master/README_RU.md/ раздел Разработка обработчика сервиса в приложении