Существует метод response.format, который использует выбор определенного метода визуализации на основе заголовка «Accept». http://expressjs.com/4x/api.html#res.format
Ответ может выглядеть так:
res.format({
text: function(){
res.send('hey');
},
html: function(){
res.send('hey');
},
json: function(){
res.send({ message: 'hey' });
}
});