170 похожих чатов

Всем привет Подскажите, пожалуйста, как мапить nullable параметры в gin например, у

меня есть ендпоинт, который возвращает всех кошечек одного пользователя, но кошечек может быть много, и я бы не хотел возвращать всех кошечек пользователей, а возвращать частями ( пагинация ), и если параметр страницы / лимита не передан, то устанавливать некоторые дефолтные значения.
Вот, я создал следующую структуру:
type CatsFindByUserDTO struct {
UserID int `form:"user_id" binding:"required"`
Page *int `form:"page"`
Limit *int `form:"limit"`
}
Пытаюсь её замапить вот так:
var filter dto.CatsFindByUserDTO

if err := c.BindQuery(filter); err != nil {
newErrorResponse(c, http.StatusBadRequest, err.Error())
return
}
Но результат не тот, что я ожидал. Я нагуглил решения, в которых предлагается Page / Limit объявить строками, и сравнивать с пустой строкой. Нет ли возможности, мапить на указатель встроенными инструментами ? Т.е. я бы хотел, если значения нет — то nil, если есть, то указатель по которому лежит переданное число.
Если такого варианта нет, то как можно организовать логику этого маппинга ( куда вынести, как делают у вас проектах ) ?

1 ответов

3 просмотра

я на прошлой работе вот такое использовал: https://github.com/volatiletech/null/

Похожие вопросы

Обсуждают сегодня

Делал сайт заказчику в 2018г. Прилетела претензия на фотку в примерах работ от copydefend (ооо "фортуна технолоджис") на 36к рублей 🙈 Конторка эта образовалась в 2023 г, и 13...
Alexander Andreev
10
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
32
/////////////////////////////////////// TChart / TLineSeries - сохранение данных (текстовый файл) /////////////////////////////////////// добрый день / работа с графиком: 1....
livontiy
14
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
43
кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
39
Господа. Кто тут шарит за оптимизацию mysql? есть небольшой заказ - сайт на дцать тысяч ресурсов - бдшка распухла - тормозит. Нужно посмотреть что можно соптимизировать - а то...
Jacov Borisov
8
Чем больше разбираюсь с интерфейсами в дельфи, тем меньше понимаю, как работает поиск имен. type IIntf = interface function GetStr: string; end; IChild = interface(I...
Jack128
9
давайте за механические клавиатуры потрём, мне тут неучтенных денег упало и их можно потратить на что-то такое, вот думаю про dark project kd87a, кто-то имеет что-то подобное?
Oleg Nosov
24
Вопрос по организации кода. Пилю свой велосипед логгер Есть у меня множество уровней сообщений. Я набрасываю сообщения в стринглист, а когда они нужны, вызываю их через функц...
Serjone
21
Карта сайта