Size: a a a

2020 November 26

А

Артём Курилко... in pro.jvm
Alexandr Emelyanov
Задачу реальную покажи
у меня есть тест в котором для несколиких репозиториев одна и та же задача
источник

А

Артём Курилко... in pro.jvm
Alexandr Emelyanov
Конкретно тут ты вообще получаешь класс прокси по факту, если это Бин инжектится
 List<MongoRepository<? extends BaseEntity, Long>> repositories = Arrays.asList(
               firstRepository,
               secondRepository,
               thirdTypeRepository
);

repositories.forEach(repository -> {
 // some stuff
});
источник

AE

Alexandr Emelyanov in pro.jvm
Встань отладчиком и походи по классу, посмотри где тип получить
источник

AE

Alexandr Emelyanov in pro.jvm
Артём Курилко
 List<MongoRepository<? extends BaseEntity, Long>> repositories = Arrays.asList(
               firstRepository,
               secondRepository,
               thirdTypeRepository
);

repositories.forEach(repository -> {
 // some stuff
});
Все равно не понятно, походит на то, что можно решить дженериками
источник

LS

L S in pro.jvm
Артём Курилко
 List<MongoRepository<? extends BaseEntity, Long>> repositories = Arrays.asList(
               firstRepository,
               secondRepository,
               thirdTypeRepository
);

repositories.forEach(repository -> {
 // some stuff
});
Я тебе уже написал, как ты через рефлексию можешь получить дженерик в этом листе для каждого репозитория, в чем проблема?
источник

РН

Роман Нагаев... in pro.jvm
Артём Курилко
 List<MongoRepository<? extends BaseEntity, Long>> repositories = Arrays.asList(
               firstRepository,
               secondRepository,
               thirdTypeRepository
);

repositories.forEach(repository -> {
 // some stuff
});
посмотри паттерн сратегия и паттерн визитор
выясни в чём разница и почему тебе стоит использовать стратегию чтобы избегать проблем с неодинаковыми частями одинаковой логики
источник

А

Артём Курилко... in pro.jvm
Alexandr Emelyanov
Все равно не понятно, походит на то, что можно решить дженериками
У каждого репозитория разный класс который принимает моего репозиторий в качестве параметра
источник

AE

Alexandr Emelyanov in pro.jvm
Артём Курилко
У каждого репозитория разный класс который принимает моего репозиторий в качестве параметра
И?
источник

AE

Alexandr Emelyanov in pro.jvm
Задача не понятна
источник

AE

Alexandr Emelyanov in pro.jvm
Такое ощущение что тут можно обойтись вообще композицией
источник

А

Артём Курилко... in pro.jvm
Через дженерикс не выйдет, ладно поищу сам решение
источник

AE

Alexandr Emelyanov in pro.jvm
Композиция решит твой вопрос
источник

B1

Burevesnik 1960 in pro.jvm
Хай, думаю сделать реализацию разблокировки пользователя через некоторое время. Для блокировки юзаю spring security
1. Scheduler, который будет доставать заблокированых пользователей и сверять прошло ли время
2. Руками проверять при каждом запросе( по сути, при каждом входе пользователя будет +1 запрос в бд, если он заблочен - проверить время - и тогда передавать креды в security manager)

Может кто то делал подобное? Каким способом?
источник

B1

Burevesnik 1960 in pro.jvm
Или может есть инструменты Spring Security для разблокировки User? ( Мой userEntity имплементит UserDetails спринга)
источник

П

Павел in pro.jvm
Народ, нужен метод с 5 фильтрами и пагинацией, валидацией, который должен доставать какие-то записи.

Как вы будите его делать, как GET  или как POST?
источник

ВШ

Виктор Шиян... in pro.jvm
Павел
Народ, нужен метод с 5 фильтрами и пагинацией, валидацией, который должен доставать какие-то записи.

Как вы будите его делать, как GET  или как POST?
Если ничего менять в базе не нужно будет то get конечно
источник

П

Павел in pro.jvm
Виктор Шиян
Если ничего менять в базе не нужно будет то get конечно
Вот, отлично. Я так же думаю. Но вот реализация получается убогая. Метод принимающий 5 параметров + дополнительно 2 параметра для пагинации + над каждым параметром аннотация валидации. А если таких методов несколько, то в каждом повторяется по 2 параметра пагинации. И ввглядит это кошмарно. + валидация в GET методах в спринге, работает криво
источник

П

Павел in pro.jvm
Сделать постом гораздо красивей. @Valid @RequestBody PaguableRequest<T>  и все. Но это вводит в заблуждение, будто запрос что-то создает в системе
источник

П

Павел in pro.jvm
Можно в GET сбиндить параметры в dto, но тогда тот же swagger генерит убогую документацию
источник

D

Dmitry in pro.jvm
можно в GET body докинуть с сериализованным объектом
источник