Size: a a a

Node.js — русскоговорящее сообщество

2020 June 03

h

humanoid in Node.js — русскоговорящее сообщество
Хм, не знаю про готовые решения. Но вполне легко написать такое самому. Просто обходишь весь объект, там где значение - строки - проверяешь по какому то паттерну, что это число и преобразуешь в новое -значение с типом число
источник

R

RusaXXX in Node.js — русскоговорящее сообщество
Aleksey Lukyanov
А почему неизвестна степень вложенности? 🤔 Передашь параметры от клиента в реквест боди в json формате, а на беке распарсишь и получишь объект со своими параметрами
ок,степень вложенности известна , но таких свойств может быть очень много
источник

AL

Aleksey Lukyanov in Node.js — русскоговорящее сообщество
Не совсем понятно для чего. Как по мне так должен знать что именно тебе присылает клиент, а если он прислал не то, то оправлять ему сообщение об ошибке валидности
источник

SS

Stanislav Suslov in Node.js — русскоговорящее сообщество
всем привет, хочу хранить и бекенд, и фронтенд в одном репозитории (всё на ноде), как это лучше реализовать?
источник

R

RusaXXX in Node.js — русскоговорящее сообщество
Aleksey Lukyanov
Не совсем понятно для чего. Как по мне так должен знать что именно тебе присылает клиент, а если он прислал не то, то оправлять ему сообщение об ошибке валидности
вот схема какая то должна быть,DTO это не то самое?
источник

R

RusaXXX in Node.js — русскоговорящее сообщество
Aleksey Lukyanov
Не совсем понятно для чего. Как по мне так должен знать что именно тебе присылает клиент, а если он прислал не то, то оправлять ему сообщение об ошибке валидности
нупример у меня есть ручка на беке(рест апи), в которой я могу передавать кучу парметров для фильтрации и прочее. Эти параметры могут меняться в разных частях приложения, поэтому ручка одна но обект праметров постоянно разный
источник

I

Igor in Node.js — русскоговорящее сообщество
в express-validator всё есть, и схемы, и типы
источник

AL

Aleksey Lukyanov in Node.js — русскоговорящее сообщество
Ну я это так вижу: клиент стучит по определенному url и передаёт в теле запроса определенные параметры, которые ты ожидаешь. Ты парсишь ответ и получаешь из json объект с этими параметрами, после ты проверяешь эти параметры на валидность (что там где ты ожидаешь строку - строка, а там где ожидаешь число - число), и после этого применяешь эти параметры по назначению
источник

h

humanoid in Node.js — русскоговорящее сообщество
RusaXXX
нупример у меня есть ручка на беке(рест апи), в которой я могу передавать кучу парметров для фильтрации и прочее. Эти параметры могут меняться в разных частях приложения, поэтому ручка одна но обект праметров постоянно разный
Ты видимо на языке с типами никогда не писал.
источник

AL

Aleksey Lukyanov in Node.js — русскоговорящее сообщество
RusaXXX
нупример у меня есть ручка на беке(рест апи), в которой я могу передавать кучу парметров для фильтрации и прочее. Эти параметры могут меняться в разных частях приложения, поэтому ручка одна но обект праметров постоянно разный
А почему ручка одна на разные случаи? 🤔
источник

R

RusaXXX in Node.js — русскоговорящее сообщество
humanoid
Ты видимо на языке с типами никогда не писал.
не писал
источник

JC

Julian =) Coffee in Node.js — русскоговорящее сообщество
RusaXXX
Подскажите а как нужно правильно делать приведение типов, когда с клиента отправлен запрос в бэк, например с такими данными

{ pageSize: '5', fields: { header: '0' } }
нужно чтобы числовые строки стали числами,
Это простой объект, а если обект сложный?
Просто рекурсивно все обходишь
источник

h

humanoid in Node.js — русскоговорящее сообщество
RusaXXX
нупример у меня есть ручка на беке(рест апи), в которой я могу передавать кучу парметров для фильтрации и прочее. Эти параметры могут меняться в разных частях приложения, поэтому ручка одна но обект праметров постоянно разный
Все равно у тебя тут есть типы. Просто они не описаны считай. Ты все равно примерное должен понимать как устроен объект который к тебе приходит. Иначе ты не сможешь с ним работать.
источник

R

RusaXXX in Node.js — русскоговорящее сообщество
Aleksey Lukyanov
А почему ручка одна на разные случаи? 🤔
потому что она тянет одну сущность, но в одном месте ей нужно 5 записей, а в другой 5 записей и еще отсортированных, что для этго 2 ручку писать?
источник

AL

Aleksey Lukyanov in Node.js — русскоговорящее сообщество
Например тебе нужно сохранить юзера. Для этого клиент отправляет запрос на определенный url, с определенными параметрами которые ты ожидаешь. Ты обрабатываешь запрос, сперва парсишь тело запроса, потом используешь валидаторы которые и проверяют те ли данные в тебе запроса что ты ожидаешь, что заполнены все обязательные строки и т.п., и после ты эти данные о новом юзере записываешь базу данных
источник

JC

Julian =) Coffee in Node.js — русскоговорящее сообщество
humanoid
Все равно у тебя тут есть типы. Просто они не описаны считай. Ты все равно примерное должен понимать как устроен объект который к тебе приходит. Иначе ты не сможешь с ним работать.
screaming into recursive types
источник

AL

Aleksey Lukyanov in Node.js — русскоговорящее сообщество
Под каждую задачу своя функция обработчик, которая ожидает определенные данные
источник

h

humanoid in Node.js — русскоговорящее сообщество
RusaXXX
потому что она тянет одну сущность, но в одном месте ей нужно 5 записей, а в другой 5 записей и еще отсортированных, что для этго 2 ручку писать?
Если вопрос в дублировании, то просто можешь сделать переиспользуемые подобъекты ручки - поменьше. А из них уже составлять разные другие
источник

h

humanoid in Node.js — русскоговорящее сообщество
Julian =) Coffee
screaming into recursive types
Прикола не понял)
источник

R

RusaXXX in Node.js — русскоговорящее сообщество
Aleksey Lukyanov
Под каждую задачу своя функция обработчик, которая ожидает определенные данные
так у меня одна задача, напрмер вывести список постов. При этом я могу прокинуть доп данные для фильтрации, а могу не прокидывать
источник