2016-06-23 5 views
1

Предполагая, что приложение Перьев со следующей структурой каталогов:Где реализовать маршруты webhook в приложении feathersjs?

- src 
-- hooks 
-- middleware 
-- services 

Где подходящее место для размещения webhook обработчиков маршрута? Должно ли это быть сделано с помощью промежуточного программного обеспечения, или было бы более идиоматично использовать стандартные экспресс-маршруты и помещать их в каталог маршрутов?

В контексте, я хочу слушать события из Instagram, и они не обязательно совпадают с услугами RESTful, которые я использую.

ответ

1

Среднее программное обеспечение является только обработчиком для обычного экспресс-маршрута. Я считаю, что webhook является промежуточным программным обеспечением, как любая другая конечная точка без обслуживания.

В этом промежуточном программном обеспечении вы можете получить услуги через req.app.service. Например, Instagram webhook, что создает записи в images службы для данных, полученных с помощью webhook, а затем передает состояние (или ошибка назад) может выглядеть следующим образом:

app.use('/instagram', function(req, res) { 
    const imageService = req.app.service('images'); 
    const images = req.body.data; 

    imageService.create(currentData).then(() => { 
    res.status(200); 
    res.end('ok'); 
    }).catch(error => { 
    res.status(500); 
    res.end(error.message); 
    }); 
}); 

Данные, передаваемые в webhook также должны быть проверяется с помощью Instagram перед добавлением их в базу данных.

+0

Имеет смысл. Спасибо за быстрый ответ! – Coppa

Смежные вопросы