Добавление удаленной функции к модели в Loopback.js - PullRequest
1 голос
/ 28 марта 2019

Я добавил удаленную функцию в модель loopback.js, которая отлично работает, когда я добавляю другую функцию с другим именем и URL, тогда новая функция работает, но предыдущая начинает выдавать ошибку 500.

Я пытался изменить имя вызываемой функции, изменить URL-адрес API и все такое, но это не сработало

Первая функция была такой

Station.remoteMethod(
    '_updateStation', {
        http: { path: '/update', verb: 'post' },
        accepts: [
            { arg: 'service', type: 'object', required: true, http: { source: 'body' } },
            {
                arg: 'ip', type: 'string', required: true, http: function (ctx) {
                    var req = ctx.req;
                    return req.headers['x-forwarded-for'] ||  req.connection.remoteAddress;
                }
            }
        ],
        returns: [
            { arg: 'status', type: 'string', description: ' stations update status' },
            { arg: 'statusCode', type: 'string', description: ' stations update code' }  
        ]
    }
);

И новая функция

Station.remoteMethod(
    '_updateMultiple', {
        http: { path: '/updateall', verb: 'post' },
        accepts: [
            { arg: 'service', type: 'object', required: true, http: { source: 'body' } },
            {
                arg: 'ip', type: 'string', required: true, http: function (ctx) {
                    var req = ctx.req;
                    return req.headers['x-forwarded-for'] ||  req.connection.remoteAddress;
                }
            }
        ],
        returns: [
            { arg: 'status', type: 'string', description: ' stations all update status' },
            { arg: 'updateData', type: 'string', description: ' stations all update code' },
            { arg: 'stations', type: 'string', description: ' stations all update code' }    
        ]
    }
);

Если я закомментирую новую функцию, API / update работает нормально, но если раскомментировать эту новую функцию, то / update API выдает ошибку 500

1 Ответ

0 голосов
/ 14 апреля 2019

Я решил этот запрос, это было просто.Просто отключите ту функцию модели, которую вы хотите переопределить, а затем добавьте функцию, она будет работать.Например, если вы хотите добавить custom / update api на модель, вам нужно сделать.

    _Model.disableRemoteMethodByName('update', false);

А затем добавить новый удаленный метод с / update url, он будет работать.Потому что, если вы не отключите удаленную функцию модели и не создадите / обновите, она все равно будет вызывать встроенный метод / метод обновления модели вместо пользовательского метода / метода обновления.

...