powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Покритикуйте/оцените spring-boot приложение
37 сообщений из 37, показаны все 2 страниц
Покритикуйте/оцените spring-boot приложение
    #39666308
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это монолит на spring-boot.
Есть админка на javascript.
Из особенностей - большое число юнит тестов.

https://github.com/javadev/pt-backend

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666404
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самая сложная для понимания часть - это javascript.

https://github.com/javadev/pt-backend/blob/master/src/main/resources/static/scripts/views/programs.js

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666570
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит идеальное приложение, если нет коментариев :)

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666577
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin KolesnikovЗначит идеальное приложение, если нет коментариев :)

С уважением, Валентин
Скорее оно такое объемное что нужно время на изучение кода. А со временем бывают трудности.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666595
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov, а каким образом контролируется процесс установки скриптиков отсюда?
https://github.com/javadev/pt-backend/tree/master/src/main/resources/db/migration
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666614
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonValentin Kolesnikov, а каким образом контролируется процесс установки скриптиков отсюда?
https://github.com/javadev/pt-backend/tree/master/src/main/resources/db/migration

Добавлена зависимость для flyway и настрока для application.properties:

Код: plaintext
1.
2.
3.
# Flyway
flyway.schemas=ptcore
flyway.baseline-on-migrate=true
spring.jpa.hibernate.ddl-auto=none

Код: xml
1.
2.
3.
4.
5.
    <!-- FlyWay DB Migration -->
    <dependency>
      <groupId>org.flywaydb</groupId>
      <artifactId>flyway-core</artifactId>
    </dependency>



С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666620
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov, +1

Но по тестам там смотреть особо нечего. Тесты - это не продуктив и главное чтоб они работали.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666649
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. в корне проекта насрано
2. flyway - разделения по релизам нет, т.е. миграции выполнить можно только один раз
Valentin KolesnikovИз особенностей - большое число юнит тестов
3. юнит-тесты просто на грани фантастики:
Код: java
1.
2.
3.
4.
5.
6.
    @Test
    public void setters() {
        ActiveCertificateResponseDTO activeCertificateResponseDTO = new ActiveCertificateResponseDTO();
        activeCertificateResponseDTO.setCode(null).setExpiration_date(null);
        assertThat(activeCertificateResponseDTO, notNullValue());
    }


Вы JDK чтоли тестируете чтобы конструктор null не возвращал?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666669
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тесты то тестами - смотря что чел хочет оттестировать. это раз а два. структура проекта мне кажется это трэш несколько удивительна. зачем мешать сущности и простите контроллеры?

вроде есть стандартная структура типа папка с сервисами, папка (пакаж) с репозиториями, пакаж с контроллером(ми) и тд. а тут просто в кучу навалено по какой-то своей неведомой структуре (я надеюсь что она всё же есть).

видел как то как челы внутри контроллера фигачили коннекшн к базе данных, один раз, а другой раз фигачили коннекшн уже прям в сущности. и ее передавали контроллеру.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666671
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов1. в корне проекта насрано
2. flyway - разделения по релизам нет, т.е. миграции выполнить можно только один раз
Valentin KolesnikovИз особенностей - большое число юнит тестов
3. юнит-тесты просто на грани фантастики:
Код: java
1.
2.
3.
4.
5.
6.
    @Test
    public void setters() {
        ActiveCertificateResponseDTO activeCertificateResponseDTO = new ActiveCertificateResponseDTO();
        activeCertificateResponseDTO.setCode(null).setExpiration_date(null);
        assertThat(activeCertificateResponseDTO, notNullValue());
    }


Вы JDK чтоли тестируете чтобы конструктор null не возвращал?
а... глянул. ну угу. тест ради теста. некоторые вон на геттеры и сеттеры (созданные ломбоком) тесты пишут.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666673
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTну тесты то тестами - смотря что чел хочет оттестировать. это раз а два. структура проекта мне кажется это трэш несколько удивительна. зачем мешать сущности и простите контроллеры?

вроде есть стандартная структура типа папка с сервисами, папка (пакаж) с репозиториями, пакаж с контроллером(ми) и тд. а тут просто в кучу навалено по какой-то своей неведомой структуре (я надеюсь что она всё же есть).

видел как то как челы внутри контроллера фигачили коннекшн к базе данных, один раз, а другой раз фигачили коннекшн уже прям в сущности. и ее передавали контроллеру.

Это концепция package by feature.
Для разбивки приложения на отдельные модули/приложения в будущем.

С уважжением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666675
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка скорее. Там code и expirationDate должны тестится на не пустое.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666679
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вытянул себе, чисто для просмотра кода и проекта от более опытного разработчика нежели я :)
Но еще не смотрел. Действительно нужно время...
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666700
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@Service
class AdminUserGoalService {
    private final GoalRepository goalRepository;
    private final DictionaryService dictionaryService;

    AdminUserGoalService(GoalRepository goalRepository,
            DictionaryService dictionaryService) {
        this.goalRepository = goalRepository;
        this.dictionaryService = dictionaryService;
    }



мне кажется просто поля помечать автоваерами было бы проще т.к. инжектов может быть и не один. будете конструктор на 10 полей создавать?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 UserResponseDTO create(UserRequestDTO userRequestDTO) {
        final InUserType inUserTypeDb = userRequestDTO.getType().getId() == null ? null
                : inUserTypeRepository.findOne(userRequestDTO.getType().getId());
        final InUser inUser = new InUser();
        final InUserEmail inUserEmail = new InUserEmail();
        final MapBindingResult errors = new MapBindingResult(new HashMap<>(), String.class.getName());
        emailValidator.validate(userRequestDTO.getEmail(), errors);
        if (errors.hasErrors()) {
            throw new UnauthorizedException(errors.getAllErrors().get(0).getDefaultMessage());
        }
        inUserEmail.setLogin(userRequestDTO.getEmail());
        inUserEmail.setUser_name(userRequestDTO.getName());
        inUserEmail.setPassword(passwordEncoder.encode("Qwerty+1"));
        inUser.setInUserType(inUserTypeDb);
        inUser.setInUserEmails(Arrays.asList(inUserEmail));
        inUser.setD_sex(userRequestDTO.getGender());
        inUser.setD_level(userRequestDTO.getLevel() == null ? null : "" + userRequestDTO.getLevel());
        inUser.setWeight(userRequestDTO.getWeight() == null ? null : userRequestDTO.getWeight().floatValue());
        setupGoals(userRequestDTO, inUser);

        final InUser savedInUser = inUserRepository.save(inUser);
        inUserEmail.setInUser(savedInUser);
        inUserEmailRepository.save(inUserEmail);
        return inUserToDto(adminProgramAssignService.assign(savedInUser));
    }



просто первый попавшийся копипаст:

если креейт то креейт зачем скрещивать с апдейтом? да еще и так?
1) почему ин-юзер?
2) почему сущность называется inUserEmail а там стопитцот полей? включая ин_юзер? и емейл?
3) что за именование?
String user_name;
String device_id;
камелкейс - не?
4) юзайте маппер называйте поля одинаково будет всем хорошо.
5) зачем писать реально модифицирующий данные код в СУЩНОСТИ?? (назад в п.2)
6) inUser.setD_level(userRequestDTO.getLevel() == null ? null : "" + userRequestDTO.getLevel()); -- Што это штооо?

6) вы слышали что нибудь о книжке клин код?
7) вы слышали что нибудь об аббревиатуре SOLID?
8) вы слышали что нибудь о книге Java Head First?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666705
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin KolesnikovandreykaTну тесты то тестами - смотря что чел хочет оттестировать. это раз а два. структура проекта мне кажется это трэш несколько удивительна. зачем мешать сущности и простите контроллеры?

вроде есть стандартная структура типа папка с сервисами, папка (пакаж) с репозиториями, пакаж с контроллером(ми) и тд. а тут просто в кучу навалено по какой-то своей неведомой структуре (я надеюсь что она всё же есть).

видел как то как челы внутри контроллера фигачили коннекшн к базе данных, один раз, а другой раз фигачили коннекшн уже прям в сущности. и ее передавали контроллеру.

Это концепция package by feature.
Для разбивки приложения на отдельные модули/приложения в будущем.

С уважжением, Валентин
очень тяжело шарить по пакеджам где больше пяти классов, очень тяжело читать методы где больше пары десятков строк, очень тяжело читать наборы параметров что передаешь в методы когда их больше пяти. очень тяжело разбираться в том что делает метод если он делает всё.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666707
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...очень тяжело шарить по пакетам среди классов если все классы делают мягко говоря разные вещи. вы можете бить по пакаджам никто ж вас не ограничивает в уровнях вложенности? )
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666708
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@Service("customUserDetailsService")
public class CustomUserDetailsService implements UserDetailsService {

    private final PtUserRepository ptUserRepository;
    
    CustomUserDetailsService(PtUserRepository ptUserRepository) {
        this.ptUserRepository = ptUserRepository;
    }

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        final List<PtUser> ptUsers = ptUserRepository.findByLogin(username);
        if (ptUsers.isEmpty()) {
            throw new UsernameNotFoundException("No user present with username: " + username);
        }
        return new CustomUserDetails(ptUsers.get(ptUsers.size() - 1));
    }

}



я конечно вас критиковать не хочу, но простите, что здесь происходит? вам надо найти юзера по логину? у вас может быть так что в системе более одного юзера с одним логином? )) а почему вы делаете тогда последний ретерн так?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666713
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT, Wow! Wow!

Осади коней!
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666715
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@Service("customUserDetailsService")
public class CustomUserDetailsService implements UserDetailsService {

    private final PtUserRepository ptUserRepository;
    
    CustomUserDetailsService(PtUserRepository ptUserRepository) {
        this.ptUserRepository = ptUserRepository;
    }

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        final List<PtUser> ptUsers = ptUserRepository.findByLogin(username);
        if (ptUsers.isEmpty()) {
            throw new UsernameNotFoundException("No user present with username: " + username);
        }
        return new CustomUserDetails(ptUsers.get(ptUsers.size() - 1));
    }

}



я конечно вас критиковать не хочу, но простите, что здесь происходит? вам надо найти юзера по логину? у вас может быть так что в системе более одного юзера с одним логином? )) а почему вы делаете тогда последний ретерн так?

Да, может быть несколько пользователей с одинаковым логином в базе данных.

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666718
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
што?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666719
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...и вы берете всегда последнего? ))
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666724
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT...и вы берете всегда последнего? ))

Приложение не даст создать несколко пользователей с одним логином.

В будущем возможна деактивация пользователей без удаления.

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666726
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin KolesnikovДа, может быть несколько пользователей с одинаковым логином в базе данных.
С уважением, Валентин


Valentin KolesnikovandreykaT...и вы берете всегда последнего? ))

Приложение не даст создать несколко пользователей с одним логином.

В будущем возможна деактивация пользователей без удаления.

С уважением, Валентин

да?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666729
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTValentin KolesnikovДа, может быть несколько пользователей с одинаковым логином в базе данных.
С уважением, Валентин


Valentin Kolesnikovпропущено...


Приложение не даст создать несколко пользователей с одним логином.

В будущем возможна деактивация пользователей без удаления.

С уважением, Валентин

да?

В базе данных может быть несколько пользователей с одинаковым логином, а в приложении есть проверка при создании.

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666741
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valentin Kolesnikov,
каким образом может быть пользователи с одинаковыми логинами если проверка есть? как они там окажутся?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666745
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем необходимость иметь одинаковый логин?
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666747
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123А в чем необходимость иметь одинаковый логин?

Это может быть нужно чтобы не удалять пользователя а деактивировать.

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666750
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopValentin Kolesnikov,
каким образом может быть пользователи с одинаковыми логинами если проверка есть? как они там окажутся?
никак. воитель об этом не подумал )) во-первых, я согласен (можно отбросить вообще весь остальной код т.к. комментировать его можно бесконечно), может быть случай когда логины одинаковы. НО. у юзера должен быть УИД по которому он идентифицируется и это либо логин либо имя либо еще что то либо набор неких параметров дающих уникальный ключ. тут же я подозреваю, тс банально глубоко не анализировал задачу

Валентин, по конкретно этому случаю (другие обсуждать можно вечность) у вас банально нет консистенси.
вы говорите может быть много одинаковых логинов у разных юзеров но при логине вы берете первый из списка?)) а как же другие юзеры? т.е. есть маша с логином А есть даша с логином А есть саша с логином А. кто то из них (скажем саша) вводит логин А и... логинится под машей? )) я не уверен что это корректное поведение. а если учесть что гетОлл вам вообще не гарантирует ордеринг )) у вас будут логиниться рандомно с разными кредами от разных юзеров. замечательно. ))
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666753
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTНО. у юзера должен быть УИД по которому он идентифицируется и это либо логин либо имя либо еще что то либоразумеется.
Если логин с повтором, тогда это не логин))))))
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666755
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTTsyklopValentin Kolesnikov,
каким образом может быть пользователи с одинаковыми логинами если проверка есть? как они там окажутся?
никак. воитель об этом не подумал )) во-первых, я согласен (можно отбросить вообще весь остальной код т.к. комментировать его можно бесконечно), может быть случай когда логины одинаковы. НО. у юзера должен быть УИД по которому он идентифицируется и это либо логин либо имя либо еще что то либо набор неких параметров дающих уникальный ключ. тут же я подозреваю, тс банально глубоко не анализировал задачу

Валентин, по конкретно этому случаю (другие обсуждать можно вечность) у вас банально нет консистенси.
вы говорите может быть много одинаковых логинов у разных юзеров но при логине вы берете первый из списка?)) а как же другие юзеры? т.е. есть маша с логином А есть даша с логином А есть саша с логином А. кто то из них (скажем саша) вводит логин А и... логинится под машей? )) я не уверен что это корректное поведение. а если учесть что гетОлл вам вообще не гарантирует ордеринг )) у вас будут логиниться рандомно с разными кредами от разных юзеров. замечательно. ))

Согласен тут нужно переделывать.

В приложении оставили только facebook login. E-mail логин остался как устаревший.

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666757
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin KolesnikovPetro123А в чем необходимость иметь одинаковый логин?

Это может быть нужно чтобы не удалять пользователя а деактивировать.

С уважением, Валентин

User user = repo.findByLoginAndDeletedIsNull(String login);
параллельно вешаем констрейнт на базу что в ней не может жить больше одного юзера с конкретным логином и делетед нулл.

вот и весь код.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666758
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikovне удалять пользователя а деактивировать.если бизнесу надо (не программисту!!) то вводите в Модель понятие Уволенный юзверь.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666772
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОпечатка скорее. Там code и expirationDate должны тестится на не пустое.не... там половина тестов таких. Вероятнее всего чтобы оно через побольше методов проходило и получить "внушительное" покрытие кода тестами
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39666776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно готовили рефакторинг и перестарались. Тут КМК важнее закрепить текущее поведение.
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39746243
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно перешёл на spring-boot 2.1.1

https://github.com/javadev/pt-backend/pull/2

С уважением, Валентин
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39746547
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov,

как-то странно Optional используется
Код: java
1.
2.
3.
4.
5.
6.
7.
    ExerciseResponseDTO findOne(Long id) {
        final Exercise exercise = exerciseRepository.findById(id).orElse(null);
        if (exercise == null) {
            throw new ResourceNotFoundException("Exercise with id " + id + " not found.");
        }
        return exerciseToDto(exercise);
    }


вместо
Код: java
1.
2.
3.
4.
    ExerciseResponseDTO findOne(Long id) {
        final Optional<Exercise> exercise = exerciseRepository.findById(id);
        return exercise.map(this::exerciseToDto).orElseThrow(() -> new ExerciseNotFoundException(id));
    }
...
Рейтинг: 0 / 0
Покритикуйте/оцените spring-boot приложение
    #39746856
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavel_nvValentin Kolesnikov,

как-то странно Optional используется
Код: java
1.
2.
3.
4.
5.
6.
7.
    ExerciseResponseDTO findOne(Long id) {
        final Exercise exercise = exerciseRepository.findById(id).orElse(null);
        if (exercise == null) {
            throw new ResourceNotFoundException("Exercise with id " + id + " not found.");
        }
        return exerciseToDto(exercise);
    }


вместо
Код: java
1.
2.
3.
4.
    ExerciseResponseDTO findOne(Long id) {
        final Optional<Exercise> exercise = exerciseRepository.findById(id);
        return exercise.map(this::exerciseToDto).orElseThrow(() -> new ExerciseNotFoundException(id));
    }



Можно переделать, согласен.

С уважением, Валентин
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Покритикуйте/оцените spring-boot приложение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]