• Для чего нужен слой сервиса без логики?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вообще-то тут должен быть маппинг доменной модели, но о нём, видимо, забыли и пытаются сохранить ее в бд непосредственно, и, самое ужасное, восстановить.
    То, что слой есть - похвально, то, что там ничего не происходит (хотя должно) - нет.
    Ответ написан
    1 комментарий
  • Правильно ли использовать Optional только для его map?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    0. Тернарного оператора что-то я тут не вижу.
    1. Ничего не мешает вам сделать промежуточную переменную it, если уж у вас такая сильная тоска по острову в Балтийском заливе:
    var it = getSomething();
    var a = new Class1(it, it, it);

    2. Optional.of - это какой-то исчезающе редкий, вымирающий вид. В нем нет никакого смысла. Используется только Optional.ofNullable.
    а. Конструкция Optional позволяет эффективно бороться с нуллабельными объектами, подразумевая что есть Объект и возможная альтернатива в виде нула.
    б. Если у вас железно, гарантированно объект "non-null", то и Optional не нужен и вообще не понятно, какая у него вторая альтернатива
    3. Неправильно использовать .get() без проверки на null у Optional. Это вывод из п2, вообще-то. Вроде в вашем примере Optional от ненулабельного значения, но смысл это теряет на этапе Optinal.of.
    4. В итоге Optional следует использовать как-то так:
    var a = Optional.ofNullable(getSomething())
                 .map(it -> new Class1(it, it, it))
                 .orElseGet(() -> {
                        // TODO :: implement me
                    });

    Если getSomething железно отдает non-null объект, то вариант 1 будет лучше.
    Ответ написан
    2 комментария
  • Существует ли понятие исключения для клиента при получении ошибки в вызовах REST, gRPC?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Исключения - это семантика обработки исключительных ситуаций в языках программирования и механизмы реализации этой семантики в рантаймах. Статус 400 - это соглашение протокола передачи данных. Является ли для вашего программы возникновение такого статуса исключительной ситуацией - это вам лучше знать. И нет, на уровне операционной системы исключений не существует и их обработкой операционная система не занимается.
    Ответ написан
    Комментировать
  • Для чего в микросервисе задается порт 8080 если не используется http?

    xez
    @xez
    TL Junior Roo
    Например, для обслуживания миксросервисной инфраструктуры (типичные эндпоинты /actuator/; /actuator/health; /actuator/info)
    Ответ написан
    1 комментарий