1
Мне нужно проверить все параметры запросов HTTP-запросов, knex или bookshelf, есть функция, чтобы сделать такую вещь?Узел Bookshelf.js, как проверить, существует ли поле в таблице
Вот мой пример кода:
var validateModelQuery = function(Model , query) {
for(var att in query) {
if(!Model.has(att)) //does not exist
return false;
}
return true;
};
/
router.get('/customers', function(req, res, next) {
if (!validateModelQuery(Customer , req.query)) {
res.status(400);
Customer.where(req.query).fetchAll()
......
Что вы, ребята предлагают подтвердить запрос Params или тело, потому что писать все поля вручную на каждом маршруте действительно плохо кодирование.
Привет, Жоао, я думаю, что ни книжная полка, ни нокаут не обеспечивают такую функцию. Если вы знаете базовую базу данных, вы можете запросить некоторую системную таблицу (и, возможно, кэшировать результаты). Например, MySql: http://stackoverflow.com/questions/4165195/mysql-query-to-get-column-names#4165253; затем переведите имя столбца в случай верблюда, если это применимо к вашим именам атрибутов модели Bookshelf. – bgerth