Я работаю на веб-сервере, который в настоящее время разрабатывается для веб-браузеров, а не мобильных приложений.
Но в будущем нам может понадобиться масштабировать его и для мобильных приложений, поэтому я хочу быть более осторожным при разработке маршрутов для него.
Пока моя структура выглядит следующим образом
const controller = require('../../Controllers');
const libs = require('../../Lib');
/* GET users listing. */
router.get('/', libs.util.isLoggedIn, libs.util.checkPermission('/user-dashboard', 'view'), (req, res, next) => {
controller.UserController.getDashboardDetail(req, res, (error, result) => {
if (error) {
next(error);
return;
}
result.session = req.session;
res.render('consume/user-dashboard', {
coursearray: result,
username: req.session.displayname
});
})
});
Как и на этом маршруте '/'
, я запрашиваю панель пользователя, поэтому перед предоставлением этого я проверяю пользователя, используя 2 middlewares
Вход в систему с использованием функции libs.util.isLoggedIn
и разрешение с использованием libs.util.checkPermission
тогда мои controllers
предоставят необходимые данные.
Как мы можем после получения безошибочных данных, я отрисовываю свои View
, используя res.render
.
Моя проблема в том, как я могу использовать этотот же API
когда мне нужны только те данные, которые я предоставляю для render
функции для какого-либо мобильного приложения?
Я не хочу создавать еще один API
для того же, что я ужеделать.
Мой API
не должен заботиться о том, построена ли страница на server
стороне или client
стороне.
Как мне изменить мой текущий API
, чтобы добиться этого?
Есть ли какая-то ошибка в структуре, которую я использую смой routes
?